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"