GodMode9i/azure-pipelines.yml

100 lines
3.2 KiB
YAML

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
branches:
include:
- master
name: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)]
pool:
vmImage: 'Ubuntu-16.04'
variables:
CURRENT_DATE: $[format('{0:yyyyMMdd\-HHmmss}', pipeline.startTime)]
REPOSITORY_NAME: $(Build.Repository.Name)
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
sudo dpkg -i pacman.deb
sudo dkp-pacman -Sy
sudo dkp-pacman -S nds-dev --noconfirm
displayName: 'Setup environment'
- script: |
echo $(TRAVIS_COMMIT)
echo $(COMMIT_TAG)
echo $(BUILD_SOURCEVERSION)
displayName: 'Echo Variables'
- script: |
export DEVKITPRO="/opt/devkitpro"
export DEVKITARM="/opt/devkitpro/devkitARM"
sudo cp libmm7.a /opt/devkitpro/libnds/lib/libmm7.a
make
displayName: 'Build GodMode9i'
- script: |
chmod +x make_cia
./make_cia --srl="GodMode9i.nds" --id_0=$(git rev-parse --short=7 HEAD) --tikID=$(git rev-parse --short=16 HEAD)
mkdir GodMode9i/
cp GodMode9i.nds GodMode9i/
cp GodMode9i.cia GodMode9i/
7z a GodMode9i.7z GodMode9i/
cp GodMode9i.7z $(Build.ArtifactStagingDirectory)/GodMode9i.7z
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: 'Pack 7z'
- script: |
export COMMIT_TAG="$(git log --format=%h -1)"
git config --global user.email "flamekat54@aol.com"
git config --global user.name "TWLBot"
git clone --depth 1 https://$GITHUB_TOKEN@github.com/TWLBot/Builds.git
cd Builds/extras
cp ../../GodMode9i.7z GodMode9i.7z
git stage .
git commit -m "GodMode9i | $COMMIT_TAG"
git push origin master
git tag v$CURRENT_DATE
git log -1 --format="%H" >> travisCommit.txt
echo "2428412f374d13bf3f378dd36bd9c69c207964a6" >> travisCommit.txt
echo '##vso[task.setvariable variable=TWLBOT_COMMIT]'$(git log -1 --format="%H")
displayName: "Commit to TWLBot/Builds (/extras)"
- task: GitHubRelease@0
displayName: "Release to TWLBot/Builds"
inputs:
gitHubConnection: TWLBot
repositoryName: TWLBot/Builds
action: create
target: $(TWLBOT_COMMIT)
tagSource: 'manual'
tag: v$(CURRENT_DATE)
title: GodMode9i | $(COMMIT_TAG)
releaseNotesSource: input
releaseNotes: $(COMMIT_MESSAGE)
assets: '$(Build.ArtifactStagingDirectory)/**/*'
isPreRelease: true
addChangeLog: false
- script: |
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/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/DS-Homebrew/discord-webhooks/master/send-azure.sh
chmod +x send.sh
./send.sh failure $WEBHOOK_URL
condition: failed()
displayName: 'Send failure webhook'