116 lines
4.4 KiB
YAML
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"
|