From 132855b1600688f917a7eba5bea319132a79f87b Mon Sep 17 00:00:00 2001 From: Epicpkmn11 Date: Fri, 1 Nov 2019 23:06:37 -0500 Subject: [PATCH] Add azure-pipelines,yml --- azure-pipelines.yml | 160 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..10deb31 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,160 @@ +trigger: + branches: + include: ['*'] + exclude: [translation] + tags: + include: ['*'] + +name: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)] + +variables: + REPOSITORY_NAME: $(Build.Repository.Name) + DEVKITPRO: /opt/devkitpro + DEVKITARM: /opt/devkitpro/devkitARM + +jobs: + - job: build3DS + displayName: "Build 3DS version" + pool: + vmImage: 'Ubuntu-16.04' + steps: +######################################## + - script: | + sudo apt update + sudo apt install haveged p7zip-full + + curl -L https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb -o pacman.deb + 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 + + sudo mv makerom /opt/devkitpro/tools/bin + sudo mv bannertool /opt/devkitpro/tools/bin + displayName: 'Setup environment' +######################################## + - script: | + make + mv Universal-Updater.cia $(Build.ArtifactStagingDirectory) + mv Universal-Updater.3dsx $(Build.ArtifactStagingDirectory) + displayName: 'Build Universal-Updater' +######################################## + - task: PublishBuildArtifacts@1 + displayName: "Publish build to Azure" + inputs: + pathtoPublish: '$(Build.ArtifactStagingDirectory)' + artifactName: 'build3DS' +################################################################################ + - job: publish + displayName: "Publish builds" + dependsOn: + - buildDS + - build3DS + - buildSwitch + condition: and(succeeded('buildDS'), succeeded('build3DS'), succeeded('buildSwitch'), not(startsWith(variables['Build.SourceBranch'], 'refs/pull'))) + variables: + COMMIT_TAG: $[ dependencies.buildDS.outputs['buildDS.COMMIT_TAG'] ] + COMMIT_MESSAGE: $[ dependencies.buildDS.outputs['buildDS.COMMIT_MESSAGE'] ] + + steps: +######################################## + - task: DownloadBuildArtifacts@0 + inputs: + downloadPath: $(Build.ArtifactStagingDirectory) + artifactName: 'buildDS' + displayName: "Retrieving artifacts from DS Build" +######################################## + - task: DownloadBuildArtifacts@0 + inputs: + downloadPath: $(Build.ArtifactStagingDirectory) + artifactName: 'build3DS' + displayName: "Retrieving artifacts from 3DS build" +######################################## + - task: DownloadBuildArtifacts@0 + inputs: + downloadPath: $(Build.ArtifactStagingDirectory) + artifactName: 'buildSwitch' + displayName: "Retrieving artifacts from Switch build" +######################################## + - script: | + sudo apt install qrencode + export CURRENT_DATE=$(date +"%Y%m%d-%H%M%S") + echo '##vso[task.setvariable variable=CURRENT_DATE]'$CURRENT_DATE + echo '##vso[task.setvariable variable=CURRENT_DATE;isOutput=true]'$CURRENT_DATE + + git config --global user.email "flamekat54@aol.com" + git config --global user.name "TWLBot" + git clone https://$GITHUB_TOKEN@github.com/Universal-Team/extras.git + mkdir extras/builds/Universal-Updater + cd extras/builds/Universal-Updater + + qrencode -o Universal-Updater.png https://github.com/Universal-Team/extras/raw/v$CURRENT_DATE/builds/Universal-Updater/Universal-Updater.cia + + cp $(Build.ArtifactStagingDirectory)/*/* . + + git stage . + git commit -m "Universal-Updater | $(COMMIT_TAG)" + git push origin master + git tag v$CURRENT_DATE + + echo '##vso[task.setvariable variable=EXTRAS_COMMIT]'$(git log -1 --format="%H") + name: commit + 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: $(EXTRAS_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)/*/*' +################################################################################ + - job: sendWebhook + displayName: "Send Webhook" + dependsOn: publish + variables: + CURRENT_DATE: $[ dependencies.publish.outputs['commit.CURRENT_DATE'] ] + steps: +######################################## + - script: | + export IMAGE=https://raw.githubusercontent.com/Universal-Team/extras/v$CURRENT_DATE/builds/Universal-Updater/Universal-Updater.png + curl -o send.sh https://raw.githubusercontent.com/Universal-Team/discord-webhooks/master/send-azure.sh + chmod +x send.sh + ./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"