Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.

Commit

Permalink
Update Actions (#109)
Browse files Browse the repository at this point in the history
* Update Actions

And remove azure-pipelines.yml

* Derp fix

* Fix release file names

* Use repo var in release QR

* Fix release file name
  • Loading branch information
Epicpkmn11 authored Sep 18, 2020
1 parent d298e43 commit b48e42a
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 147 deletions.
112 changes: 63 additions & 49 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,24 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: devkitpro/devkitarm:20200730
name: "Build with Docker using devKitARM r55"
container: devkitpro/devkitarm
name: Build with Docker using devkitARM
outputs:
commit_tag: ${{ steps.build.outputs.commit_tag }}
commit_hash: ${{ steps.build.outputs.commit_hash }}
author_name: ${{ steps.build.outputs.author_name }}
committer_name: ${{ steps.build.outputs.committer_name }}
commit_subject: ${{ steps.build.outputs.commit_subject }}
commit_message: ${{ steps.build.outputs.commit_message }}
steps:
- name: "Checkout repo"
- name: Checkout repo
uses: actions/checkout@v1
with:
submodules: recursive
- name: "Install tools"
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install p7zip-full qrencode -y
sudo apt-get install p7zip-full -y
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
Expand All @@ -36,41 +40,57 @@ jobs:
sudo chmod +x makerom
mv makerom /usr/local/bin
rm makerom-v0.17-ubuntu_x86_64.zip
- name: "Build & Prepare TWiLight Menu++ Updater"
- name: Build
id: build
run: |
make
mkdir -p ~/artifacts
cp TWiLight_Menu++_Updater.3dsx ~/artifacts
cp TWiLight_Menu++_Updater.cia ~/artifacts
echo "::set-output name=commit_tag::$(git log --format=%h -1)"
echo "::set-output name=commit_message::$(git log --pretty=format:'%an - %s' -1)"
- name: "Publish build to GH Actions"
echo ::set-output name=commit_tag::$(git describe --abbrev=0 --tags)
echo ::set-output name=commit_hash::$(git log --format=%h -1)
# Webhook info
echo ::set-output name=author_name::$(git log -1 "$GITHUB_SHA" --pretty="%aN")
echo ::set-output name=committer_name::$(git log -1 "$GITHUB_SHA" --pretty="%cN")
echo ::set-output name=commit_subject::$(git log -1 "$GITHUB_SHA" --pretty="%s")
echo ::set-output name=commit_message::$(git log -1 "$GITHUB_SHA" --pretty="%b")
- name: Fix release file names
if: ${{ startsWith(github.ref, 'refs/tags') }}
run: |
cd ~/artifacts
mv TWiLight_Menu++_Updater.3dsx TWiLightMenu-Updater.3dsx
mv TWiLight_Menu++_Updater.cia TWiLightMenu-Updater.cia
- name: Publish build to GH Actions
uses: actions/upload-artifact@v2
with:
path: ~/artifacts/*
name: "build"
name: build

# Only run this for non-PR jobs.
publish_build_twlbot:
publish_build:
runs-on: ubuntu-latest
name: "Publish build to TWLBot"
name: Publish build to TWLBot/Builds
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
needs: build
env:
COMMIT_TAG: ${{ needs.build.outputs.commit_tag }}
COMMIT_HASH: ${{ needs.build.outputs.commit_hash }}
AUTHOR_NAME: ${{ needs.build.outputs.author_name }}
COMMIT_MESSAGE: ${{ needs.build.outputs.commit_message }}
outputs:
current_date: ${{ steps.commit.outputs.current_date }}
twlbot_commit: ${{ steps.commit.outputs.twlbot_commit }}
steps:
- name: "Checkout repo"
uses: actions/checkout@v1
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install qrencode -y
- name: Download artifacts
uses: actions/download-artifact@v2
with:
name: "build"
path: "build"
name: build
path: build
- name: Upload to ${{ github.repository }} release
if: ${{ startsWith(github.ref, 'refs/tags') }}
run: |
Expand All @@ -84,71 +104,65 @@ jobs:
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
done
- name: "Commit and push to TWLBot"
id: "commit"
- name: Commit and push to TWLBot/Builds
id: commit
run: |
CURRENT_DATE=$(date +"%Y%m%d-%H%M%S")
echo "::set-output name=current_date::$CURRENT_DATE"
echo ::set-output name=current_date::$CURRENT_DATE
git config --global user.email "[email protected]"
git config --global user.name "TWLBot"
git clone --depth 1 https://${{ secrets.TWLBOT_TOKEN }}@github.com/TWLBot/Builds.git
cd Builds/TWiLightMenu\ Updater/
mkdir -p Builds/TWiLightMenu-Updater
cd Builds/TWiLightMenu-Updater
qrencode -o TWiLight_Menu++_Updater.png https://github.com/TWLBot/Builds/raw/v$CURRENT_DATE/TWiLightMenu%20Updater/TWiLight_Menu++_Updater.cia
qrencode -o TWiLight_Menu++_Updater-release.png https://github.com/${{ github.repository }}/releases/download/$COMMIT_TAG/TWiLightMenu-Updater.cia
cp ${{ github.workspace }}/build/* .
git stage .
git commit -m "TWiLight Menu++ Updater | $COMMIT_TAG"
git commit -m "TWiLightMenu-Updater | $COMMIT_HASH"
git tag v$CURRENT_DATE
git push origin master v$CURRENT_DATE
echo "::set-output name=twlbot_commit::$(git log --format=%H -1)"
- name: Release to TWLBot/Builds
run: |
AUTH_HEADER="Authorization: token ${{ secrets.TWLBOT_TOKEN }}"
CONTENT_TYPE="Content-Type: application/json"
API_URL="https://api.github.com/repos/TWLBot/Builds/releases"
RELEASE_INFO="{\"tag_name\": \"v${{ steps.commit.outputs.current_date }}\", \"name\": \"TWiLight Menu++ Updater | $COMMIT_TAG\", \"body\": \"$COMMIT_MESSAGE\", \"prerelease\": true}"
RELEASE_INFO="{\"tag_name\": \"v${{ steps.commit.outputs.current_date }}\", \"name\": \"TWiLightMenu-Updater | $COMMIT_HASH\", \"body\": \"$AUTHOR_NAME - $COMMIT_MESSAGE\", \"prerelease\": true}"
RESPONSE=$(curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_TYPE" "$API_URL" -d "$RELEASE_INFO")
ID=$(echo $RESPONSE | jq --raw-output '.id')
for file in ${{ github.workspace }}/build/*; do
AUTH_HEADER="Authorization: token ${{ secrets.TWLBOT_TOKEN }}"
CONTENT_LENGTH="Content-Length: $(stat -c%s $file)"
CONTENT_TYPE="Content-Type: application/7z-x-compressed"
UPLOAD_URL="https://uploads.github.com/repos/TWLBot/Builds/releases/$ID/assets?name=$(basename $file)"
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
done
send_webhook_success:
send_webhook:
runs-on: ubuntu-latest
needs: [publish_build_twlbot, build]
name: "Send Discord success webhook"
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
needs: [publish_build, build]
name: Send Discord webhook
if: ${{ !startsWith(github.ref, 'refs/pull') }}
env:
COMMIT_TAG: ${{ needs.build.outputs.commite_tag }}
CURRENT_DATE: ${{ needs.publish_build.outputs.current_date }}
AUTHOR_NAME: ${{ needs.build.outputs.author_name }}
COMMITTER_NAME: ${{ needs.build.outputs.committer_name }}
COMMIT_SUBJECT: ${{ needs.build.outputs.commit_subject }}
COMMIT_MESSAGE: ${{ needs.build.outputs.commit_message }}
CURRENT_DATE: ${{ needs.publish_build_twlbot.outputs.current_date }}
TWLBOT_COMMIT: ${{ needs.publish_build_twlbot.outputs.twlbot_commit }}
steps:
- name: "Checkout repo"
uses: actions/checkout@v1
- name: "Send success webhook"
- name: Send success webhook
if: ${{ success() }}
run: |
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/discord-webhooks/master/send-ghactions.sh
chmod +x send.sh
export IMAGE=https://raw.githubusercontent.com/TWLBot/Builds/v$CURRENT_DATE/builds/TWiLightMenu%20Updater/TWiLight_Menu++_Updater.png
./send.sh success ${{ secrets.WEBHOOK_URL }}
send_webhook_failure:
runs-on: ubuntu-latest
needs: [publish_build_twlbot, build]
name: "Send Discord failure webhook"
if: ${{ failure() && !startsWith(github.ref, 'refs/pull') }}
env:
COMMIT_TAG: ${{ needs.build.outputs.commite_tag }}
COMMIT_MESSAGE: ${{ needs.build.outputs.commit_message }}
CURRENT_DATE: ${{ needs.publish_build_twlbot.outputs.current_date }}
TWLBOT_COMMIT: ${{ needs.publish_build_twlbot.outputs.twlbot_commit }}
steps:
- name: "Checkout repo"
uses: actions/checkout@v1
- name: "Send failure webhook"
- name: Send failure webhook
if: ${{ failure() }}
run: |
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/discord-webhooks/master/send-ghactions.sh
chmod +x send.sh
Expand Down
98 changes: 0 additions & 98 deletions azure-pipelines.yml

This file was deleted.

0 comments on commit b48e42a

Please sign in to comment.