From 0966453aaa7ba678a6e2d108743f1fd90f497df2 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Fri, 1 Nov 2019 23:10:22 -0500 Subject: [PATCH 1/3] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 10deb31..10fbd19 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -8,9 +8,11 @@ trigger: name: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)] variables: - REPOSITORY_NAME: $(Build.Repository.Name) - DEVKITPRO: /opt/devkitpro - DEVKITARM: /opt/devkitpro/devkitARM + - group: 'Secrets (Universal-Team webhook)' + - name: REPOSITORY_NAME + value: $(Build.Repository.Name) + - name: DEVKITARM + value: /opt/devkitpro/devkitARM jobs: - job: build3DS From d7f77cb792eef6dad057080a48cd8e07b94359d5 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Fri, 1 Nov 2019 23:12:34 -0500 Subject: [PATCH 2/3] Switch to BetterDex yml as base --- azure-pipelines.yml | 236 +++++++++++++++++--------------------------- 1 file changed, 92 insertions(+), 144 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 10fbd19..3a5fc0e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -5,158 +5,106 @@ trigger: 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: DEVKITARM - value: /opt/devkitpro/devkitARM + - name: COMMIT_TAG + value: $(git log --format=%h -1) -jobs: - - job: build3DS - displayName: "Build 3DS version" - pool: - vmImage: 'Ubuntu-16.04' - steps: -######################################## - - script: | - sudo apt update - sudo apt install haveged p7zip-full +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 --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 + displayName: 'Setup devkitPro' + +- script: | + export PATH=$PATH:$(pwd) + export DEVKITPRO="/opt/devkitpro" + export DEVKITARM="/opt/devkitpro/devkitARM" + make + 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: 'Build Universal-Updater' - 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 +- 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 + mkdir extras/builds/Universal-Updater/ + 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/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" - 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 +- 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 - 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 +- 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)/**/*' - 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" +- 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" From c1989b818a866377573179bf7ccdcc76599fdab3 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Fri, 1 Nov 2019 23:13:44 -0500 Subject: [PATCH 3/3] Install all devkitPro things --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3a5fc0e..d6c349b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -30,7 +30,7 @@ steps: sudo apt install p7zip-full haveged qrencode sudo dpkg -i pacman.deb sudo dkp-pacman -Sy - sudo dkp-pacman -S 3ds-dev --noconfirm + 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