wudd/.github/workflows/ci.yml

74 lines
2.5 KiB
YAML
Raw Normal View History

2021-10-09 00:58:55 +02:00
name: CI-Release
on:
push:
branches:
- main
jobs:
2022-07-26 08:16:27 +02:00
clang-format:
2022-09-20 20:35:41 +02:00
runs-on: ubuntu-22.04
2022-07-26 08:16:27 +02:00
steps:
2023-01-02 17:07:04 +01:00
- uses: actions/checkout@v3
2022-07-26 08:16:27 +02:00
- name: clang-format
run: |
docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source
2021-10-09 00:58:55 +02:00
build-binary:
2022-09-20 20:35:41 +02:00
runs-on: ubuntu-22.04
2022-07-26 08:16:27 +02:00
needs: clang-format
2021-10-09 00:58:55 +02:00
steps:
2023-01-02 17:07:04 +01:00
- uses: actions/checkout@v3
2022-07-28 14:33:27 +02:00
- name: create version.h
run: |
git_hash=$(git rev-parse --short "$GITHUB_SHA")
cat <<EOF > ./source/version.h
#pragma once
#define VERSION_EXTRA " (nightly-$git_hash)"
EOF
2021-10-09 00:58:55 +02:00
- name: build binary
run: |
2022-07-28 14:33:27 +02:00
docker build . -t builder
2021-10-09 00:58:55 +02:00
docker run --rm -v ${PWD}:/project builder make
- uses: actions/upload-artifact@master
with:
2022-07-26 08:01:21 +02:00
name: wuhb-binary
2021-10-16 14:13:07 +02:00
path: "*.wuhb"
2021-10-09 00:58:55 +02:00
deploy-binary:
needs: build-binary
2022-09-20 20:35:41 +02:00
runs-on: ubuntu-22.04
2021-10-09 00:58:55 +02:00
steps:
- name: Get environment variables
id: get_repository_name
run: |
echo REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//") >> $GITHUB_ENV
echo DATETIME=$(echo $(date '+%Y%m%d-%H%M%S')) >> $GITHUB_ENV
- uses: actions/download-artifact@master
with:
2022-07-26 08:01:21 +02:00
name: wuhb-binary
path: wiiu/apps/wudd
2021-10-09 00:58:55 +02:00
- name: zip artifact
run: zip -r ${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip wiiu
- 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:
${{ github.event.head_commit.message }}
- 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-07-26 08:01:21 +02:00
asset_content_type: application/zip