This repository has been archived by the owner on Apr 5, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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
1 parent
d298e43
commit b48e42a
Showing
2 changed files
with
63 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -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: | | ||
|
@@ -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 | ||
|
This file was deleted.
Oops, something went wrong.