Files
DarkStore/azure-pipelines.yml
T
2019-11-01 23:10:22 -05:00

163 lines
6.3 KiB
YAML

trigger:
branches:
include: ['*']
exclude: [translation]
tags:
include: ['*']
name: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)]
variables:
- group: 'Secrets (Universal-Team webhook)'
- name: REPOSITORY_NAME
value: $(Build.Repository.Name)
- name: DEVKITARM
value: /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"