mirror of
https://github.com/DarkStore-3DS/DarkStore.git
synced 2026-07-03 00:39:02 +00:00
0966453aaa
[skip ci]
163 lines
6.3 KiB
YAML
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"
|