unifork.old/azure-pipelines.yml
2020-02-08 01:44:13 -06:00

116 lines
4.4 KiB
YAML

trigger:
branches:
include: ['*']
exclude: [translation, cleanup, full-rewrite]
tags:
include: ['*']
pr:
branches:
exclude: ['*']
name: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)]
pool:
vmImage: 'Ubuntu-16.04'
variables:
- group: 'Secrets (Universal-Team webhook)'
- name: CURRENT_DATE
value: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)]
- name: REPOSITORY_NAME
value: $(Build.Repository.Name)
- name: COMMIT_TAG
value: $(git log --format=%h -1)
steps:
- script: |
curl -L https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb -o pacman.deb
sudo apt update
sudo apt install p7zip-full haveged qrencode
sudo dpkg -i pacman.deb
sudo dkp-pacman -Sy
sudo dkp-pacman -S 3ds-dev 3ds-curl 3ds-libarchive 3ds-liblzma 3ds-mbedtls 3ds-bzip2 3ds-zlib --noconfirm
curl -L https://github.com/Steveice10/bannertool/releases/download/1.1.0/bannertool.zip -o bannertool.zip
sudo 7z e bannertool.zip linux-x86_64/bannertool
sudo chmod +x bannertool
rm bannertool.zip
curl -L https://github.com/profi200/Project_CTR/releases/download/0.15/makerom_015_ctrtool.zip -o makerom_015_ctrtool.zip
sudo 7z e makerom_015_ctrtool.zip Linux_x86_64/makerom
sudo chmod +x makerom
rm makerom_015_ctrtool.zip
git submodule update --init --recursive
displayName: 'Setup devkitPro'
- script: |
export PATH=$PATH:$(pwd)
export DEVKITPRO="/opt/devkitpro"
export DEVKITARM="/opt/devkitpro/devkitARM"
make
displayName: 'Build Universal-Updater'
- script: |
cp Universal-Updater.3dsx $(Build.ArtifactStagingDirectory)
cp Universal-Updater.cia $(Build.ArtifactStagingDirectory)
echo '##vso[task.setvariable variable=COMMIT_TAG]'$(git log --format=%h -1)
echo '##vso[task.setvariable variable=COMMIT_MESSAGE]'$(git log --pretty=format:"%an - %s" -1)
displayName: 'Post-build actions'
- script: |
git config --global user.email "flamekat54@aol.com"
git config --global user.name "TWLBot"
git clone --depth 1 https://$GITHUB_TOKEN@github.com/Universal-Team/extras.git
# Must be made before entering extras
mkdir extras/builds/Universal-Updater/
qrencode -o extras/builds/Universal-Updater/Universal-Updater-release.png https://github.com/Universal-Team/Universal-Updater/releases/download/$(git describe --abbrev=0 --tags)/Universal-Updater.cia
cd extras/builds/Universal-Updater/
cp ../../../Universal-Updater.3dsx Universal-Updater.3dsx
cp ../../../Universal-Updater.cia Universal-Updater.cia
qrencode -o Universal-Updater.png https://github.com/Universal-Team/extras/raw/v$CURRENT_DATE/builds/Universal-Updater/Universal-Updater.cia
git stage .
git commit -m "Universal-Updater | $(COMMIT_TAG)"
git push origin master
git tag v$CURRENT_DATE
echo '##vso[task.setvariable variable=TWLBOT_COMMIT]'$(git log -1 --format="%H")
displayName: "Commit to Universal-Team/extras"
- task: GitHubRelease@0
displayName: "Release to Universal-Team/extras"
inputs:
gitHubConnection: TWLBot
repositoryName: Universal-Team/extras
action: create
target: $(TWLBOT_COMMIT)
tagSource: 'manual'
tag: v$(CURRENT_DATE)
title: Universal-Updater | $(COMMIT_TAG)
releaseNotesSource: input
releaseNotes: $(COMMIT_MESSAGE)
assets: '$(Build.ArtifactStagingDirectory)/*'
isPreRelease: true
addChangeLog: false
- task: GitHubRelease@0
displayName: "Release to Universal-Team/Universal-Updater"
condition: startsWith(variables['Build.SourceBranchName'], 'v')
inputs:
gitHubConnection: TWLBot
repositoryName: Universal-Team/Universal-Updater
action: edit
target: '$(Build.SourceVersion)'
tag: $(Build.SourceBranchName)
assets: '$(Build.ArtifactStagingDirectory)/**/*'
- script: |
curl -o send.sh https://raw.githubusercontent.com/Universal-Team/discord-webhooks/master/send-azure.sh
chmod +x send.sh
export IMAGE=https://raw.githubusercontent.com/Universal-Team/extras/v$CURRENT_DATE/builds/Universal-Updater/Universal-Updater.png
./send.sh success $WEBHOOK_URL
condition: succeeded()
displayName: "Send success webhook"
- script: |
curl -o send.sh https://raw.githubusercontent.com/Universal-Team/discord-webhooks/master/send-azure.sh
chmod +x send.sh
./send.sh failure $WEBHOOK_URL
condition: failed()
displayName: "Send failure webhook"