2020-08-12 17:30:17 +02:00
name : CI-Release
2020-08-10 17:37:08 +02:00
on :
push :
branches :
- master
jobs :
2022-02-04 21:44:03 +01:00
clang-format :
2022-09-04 17:18:17 +02:00
runs-on : ubuntu-22.04
2022-02-04 21:44:03 +01:00
steps :
- uses : actions/checkout@v2
- name : clang-format
run : |
2022-05-07 21:12:18 +02:00
docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source ./wumsloader/src
2020-08-10 17:37:08 +02:00
build-binary :
2022-09-04 17:18:17 +02:00
runs-on : ubuntu-22.04
2022-02-04 21:44:03 +01:00
needs : clang-format
2020-08-10 17:37:08 +02:00
steps :
- uses : actions/checkout@v2
2022-10-09 16:16:24 +02:00
- name : create version.h
run : |
git_hash=$(git rev-parse --short "$GITHUB_SHA")
cat <<EOF > ./wumsloader/src/version.h
#pragma once
#define VERSION_EXTRA " (nightly-$git_hash)"
EOF
2020-08-10 17:37:08 +02:00
- name : build binary
2020-08-12 17:30:17 +02:00
run : |
docker build . -t builder
docker run --rm -v ${PWD}:/project builder make
2020-08-10 17:37:08 +02:00
- uses : actions/upload-artifact@master
with :
2020-08-12 17:30:17 +02:00
name : binary
2020-08-10 17:37:08 +02:00
path : "*.rpx"
deploy-binary :
needs : build-binary
2022-09-04 17:18:17 +02:00
runs-on : ubuntu-22.04
2020-08-12 17:30:17 +02:00
steps :
2020-08-10 17:37:08 +02:00
- name : Get environment variables
id : get_repository_name
run : |
2020-12-01 13:07:18 +01:00
echo REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//") >> $GITHUB_ENV
2022-02-04 21:44:03 +01:00
echo DATETIME=$(echo $(date '+%Y%m%d-%H%M%S')) >> $GITHUB_ENV
2022-10-03 22:06:02 +02:00
echo COMMIT_MESSAGES=$(echo "${{join(github.event.commits.*.message, '||END||') }}" | sed -e 's/||END||/\r\n/g') >> $GITHUB_ENV
2020-08-12 17:30:17 +02:00
- uses : actions/download-artifact@master
with :
name : binary
2020-08-10 17:37:08 +02:00
- name : zip artifact
2021-12-28 18:41:48 +01:00
run : zip -r ${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip *.rpx
2020-08-10 17:37:08 +02:00
- name : Create Release
id : create_release
uses : actions/create-release@v1
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
with :
tag_name : ${{ env.REPOSITORY_NAME }}-${{ env.DATETIME }}
release_name : Nightly-${{ env.REPOSITORY_NAME }}-${{ env.DATETIME }}
draft : false
prerelease : true
body : |
Not a stable release :
2022-10-03 22:06:02 +02:00
${{ env.COMMIT_MESSAGES }}
2020-08-10 17:37:08 +02:00
- name : Upload Release Asset
id : upload-release-asset
uses : actions/upload-release-asset@v1
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
with :
upload_url : ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path : ./${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip
asset_name : ${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip
2022-01-23 22:28:45 +01:00
asset_content_type : application/zip