mirror of
https://github.com/rvtr/GodMode9i.git
synced 2025-11-02 00:11:07 -04:00
Update actions (#71)
* Update Actions * Install tools & don't push releases to TWLBot
This commit is contained in:
parent
68c06b8687
commit
06d4ed5f79
88
.github/workflows/building.yml
vendored
88
.github/workflows/building.yml
vendored
@ -16,18 +16,22 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: devkitpro/devkitarm
|
container: devkitpro/devkitarm
|
||||||
name: "Build with Docker using devkitARM"
|
name: Build with Docker using devkitARM
|
||||||
outputs:
|
outputs:
|
||||||
commit_tag: ${{ steps.build.outputs.commit_tag }}
|
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 }}
|
commit_message: ${{ steps.build.outputs.commit_message }}
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout repo"
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v1
|
||||||
- name: "Install tools"
|
- name: Install tools
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install p7zip-full python -y
|
sudo apt-get install p7zip-full python -y
|
||||||
- name: "Build & Package GodMode9i"
|
- name: Build & Package GodMode9i
|
||||||
id: build
|
id: build
|
||||||
run: |
|
run: |
|
||||||
make
|
make
|
||||||
@ -37,37 +41,43 @@ jobs:
|
|||||||
cp GodMode9i.nds GodMode9i/
|
cp GodMode9i.nds GodMode9i/
|
||||||
cp GodMode9i.cia GodMode9i/
|
cp GodMode9i.cia GodMode9i/
|
||||||
7z a GodMode9i.7z GodMode9i/
|
7z a GodMode9i.7z GodMode9i/
|
||||||
|
|
||||||
mkdir -p ~/artifacts
|
mkdir -p ~/artifacts
|
||||||
cp GodMode9i.7z ~/artifacts
|
cp GodMode9i.7z ~/artifacts
|
||||||
|
|
||||||
echo "::set-output name=commit_tag::$(git log --format=%h -1)"
|
echo ::set-output name=commit_tag::$(git describe --abbrev=0 --tags)
|
||||||
echo "::set-output name=commit_message::$(git log --pretty=format:'%an - %s' -1)"
|
echo ::set-output name=commit_hash::$(git log --format=%h -1)
|
||||||
- name: "Publish build to GH Actions"
|
|
||||||
|
# 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: Publish build to GH Actions
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
path: ~/artifacts/*
|
path: ~/artifacts/*
|
||||||
name: "build"
|
name: build
|
||||||
|
|
||||||
# Only run this for non-PR jobs.
|
# Only run this for non-PR jobs.
|
||||||
publish_build_twlbot:
|
publish_build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: "Publish build to TWLBot/Builds"
|
name: Publish build to TWLBot/Builds
|
||||||
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
|
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
|
||||||
needs: build
|
needs: build
|
||||||
env:
|
env:
|
||||||
COMMIT_TAG: ${{ needs.build.outputs.commit_tag }}
|
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 }}
|
COMMIT_MESSAGE: ${{ needs.build.outputs.commit_message }}
|
||||||
outputs:
|
outputs:
|
||||||
current_date: ${{ steps.commit.outputs.current_date }}
|
current_date: ${{ steps.commit.outputs.current_date }}
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout repo"
|
|
||||||
uses: actions/checkout@v1
|
|
||||||
- name: Download artifacts
|
- name: Download artifacts
|
||||||
uses: actions/download-artifact@v2
|
uses: actions/download-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: "build"
|
name: build
|
||||||
path: "build"
|
path: build
|
||||||
- name: Upload to ${{ github.repository }} release
|
- name: Upload to ${{ github.repository }} release
|
||||||
if: ${{ startsWith(github.ref, 'refs/tags') }}
|
if: ${{ startsWith(github.ref, 'refs/tags') }}
|
||||||
run: |
|
run: |
|
||||||
@ -81,27 +91,30 @@ jobs:
|
|||||||
|
|
||||||
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
|
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
|
||||||
done
|
done
|
||||||
- name: "Commit and push to TWLBot/Builds"
|
- name: Commit and push to TWLBot/Builds
|
||||||
id: "commit"
|
if: ${{ !startsWith(github.ref, 'refs/tags') }}
|
||||||
|
id: commit
|
||||||
run: |
|
run: |
|
||||||
CURRENT_DATE=$(date +"%Y%m%d-%H%M%S")
|
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 "flamekat54@aol.com"
|
git config --global user.email "flamekat54@aol.com"
|
||||||
git config --global user.name "TWLBot"
|
git config --global user.name "TWLBot"
|
||||||
git clone --depth 1 https://${{ secrets.TWLBOT_TOKEN }}@github.com/TWLBot/Builds.git
|
git clone --depth 1 https://${{ secrets.TWLBOT_TOKEN }}@github.com/TWLBot/Builds.git
|
||||||
|
mkdir -p Builds/extras
|
||||||
cd Builds/extras
|
cd Builds/extras
|
||||||
cp ${{ github.workspace }}/build/* .
|
cp ${{ github.workspace }}/build/* .
|
||||||
git stage .
|
git stage .
|
||||||
git commit -m "GodMode9i | $COMMIT_TAG"
|
git commit -m "GodMode9i | $COMMIT_HASH"
|
||||||
git tag v$CURRENT_DATE
|
git tag v$CURRENT_DATE
|
||||||
git push origin v$CURRENT_DATE master
|
git push origin master v$CURRENT_DATE
|
||||||
- name: Release to TWLBot/Builds
|
- name: Release to TWLBot/Builds
|
||||||
|
if: ${{ !startsWith(github.ref, 'refs/tags') }}
|
||||||
run: |
|
run: |
|
||||||
AUTH_HEADER="Authorization: token ${{ secrets.TWLBOT_TOKEN }}"
|
AUTH_HEADER="Authorization: token ${{ secrets.TWLBOT_TOKEN }}"
|
||||||
CONTENT_TYPE="Content-Type: application/json"
|
CONTENT_TYPE="Content-Type: application/json"
|
||||||
API_URL="https://api.github.com/repos/TWLBot/Builds/releases"
|
API_URL="https://api.github.com/repos/TWLBot/Builds/releases"
|
||||||
RELEASE_INFO="{\"tag_name\": \"v${{ steps.commit.outputs.current_date }}\", \"name\": \"GodMode9i | $COMMIT_TAG\", \"body\": \"$COMMIT_MESSAGE\", \"prerelease\": true}"
|
RELEASE_INFO="{\"tag_name\": \"v${{ steps.commit.outputs.current_date }}\", \"name\": \"GodMode9i | $COMMIT_HASH\", \"body\": \"$AUTHOR_NAME - $COMMIT_MESSAGE\", \"prerelease\": true}"
|
||||||
|
|
||||||
RESPONSE=$(curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_TYPE" "$API_URL" -d "$RELEASE_INFO")
|
RESPONSE=$(curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_TYPE" "$API_URL" -d "$RELEASE_INFO")
|
||||||
|
|
||||||
@ -116,33 +129,26 @@ jobs:
|
|||||||
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
|
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
|
||||||
done
|
done
|
||||||
|
|
||||||
send_webhook_success:
|
send_webhook:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [publish_build_twlbot, build]
|
needs: [publish_build, build]
|
||||||
name: "Send Discord success webhook"
|
name: Send Discord webhook
|
||||||
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
|
if: ${{ !startsWith(github.ref, 'refs/pull') }}
|
||||||
env:
|
env:
|
||||||
CURRENT_DATE: ${{ needs.publish_build_twlbot.outputs.current_date }}
|
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 }}
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout repo"
|
- name: Send success webhook
|
||||||
uses: actions/checkout@v1
|
if: ${{ success() }}
|
||||||
- name: "Send success webhook"
|
|
||||||
run: |
|
run: |
|
||||||
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/discord-webhooks/master/send-ghactions.sh
|
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/discord-webhooks/master/send-ghactions.sh
|
||||||
chmod +x send.sh
|
chmod +x send.sh
|
||||||
./send.sh success ${{ secrets.WEBHOOK_URL }}
|
./send.sh success ${{ secrets.WEBHOOK_URL }}
|
||||||
|
- name: Send failure webhook
|
||||||
send_webhook_failure:
|
if: ${{ failure() }}
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [publish_build_twlbot, build]
|
|
||||||
name: "Send Discord failure webhook"
|
|
||||||
if: ${{ failure() && !startsWith(github.ref, 'refs/pull') }}
|
|
||||||
env:
|
|
||||||
CURRENT_DATE: ${{ needs.publish_build_twlbot.outputs.current_date }}
|
|
||||||
steps:
|
|
||||||
- name: "Checkout repo"
|
|
||||||
uses: actions/checkout@v1
|
|
||||||
- name: "Send failure webhook"
|
|
||||||
run: |
|
run: |
|
||||||
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/discord-webhooks/master/send-ghactions.sh
|
curl -o send.sh https://raw.githubusercontent.com/DS-Homebrew/discord-webhooks/master/send-ghactions.sh
|
||||||
chmod +x send.sh
|
chmod +x send.sh
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user