Skip to content

Cleaner workflow

Cleaner workflow #79

Workflow file for this run

on:
pull_request:
jobs:
versioning:
runs-on: ubuntu-latest
outputs:
stable: ${{ steps.version.outputs.stable }}
development: ${{ steps.version.outputs.development }}
preview: ${{ steps.version.outputs.preview }}
json: ${{ steps.version.outputs.json }}
steps:
- uses: actions/checkout@v4
- name: version
id: version
uses: ./.github/actions/version/
with:
steam_username: ${{ secrets.STEAM_USER }}
steam_password: ${{ secrets.STEAM_PASS }}
build:
runs-on: ubuntu-latest
needs: versioning
strategy:
matrix:
include:
- name: stable
env:
SEMVER: ${{ needs.versioning.outputs.stable }}
- name: development
env:
SEMVER: ${{ needs.versioning.outputs.development }}
- name: preview
env:
SEMVER: ${{ needs.versioning.outputs.preview }}
steps:
- uses: actions/checkout@v4
- name: should_semver
run: |
SHOULD_SEMVER=false
if [ ${{ matrix.name }} == 'stable' ]; then
SHOULD_SEMVER=true
elif [ ${{ matrix.name }} == 'development' ]; then
if [ ${{ needs.versioning.outputs.stable }} == ${{ needs.versioning.outputs.development }} ]; then
SHOULD_SEMVER=false
fi
elif [ ${{ matrix.name }} == 'preview' ]; then
if [ ${{ needs.versioning.outputs.preview }} == ${{ needs.versioning.outputs.stable }} ]; then
SHOULD_SEMVER=false
fi
if [ ${{ needs.versioning.outputs.preview }} == ${{ needs.versioning.outputs.development }} ]; then
SHOULD_SEMVER=false
fi
fi
echo "SHOULD_SEMVER=$SHOULD_SEMVER" >> $GITHUB_ENV
- name: NWNEE
id: nwn
uses: ./.github/actions/nwserver/
with:
steam_username: ${{ secrets.STEAM_USER }}
steam_password: ${{ secrets.STEAM_PASS }}
channel: ${{ matrix.name }}
tag_semver: ${{ env.SHOULD_SEMVER }}
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }}
gh_access_token: ${{ secrets.GH_ACCESS_TOKEN }}
Report:
runs-on: ubuntu-latest
needs: [ build, versioning ]
steps:
- uses: actions/checkout@v4
- name: Create or Update README.md
run: |
if [[ "${{ needs.versioning.outputs.stable }}" == "${{ needs.versioning.outputs.development }}" ]]; then
echo "SHOULD_SEMVER_DEVELOPMENT=true" >> $GITHUB_ENV
else
echo "SHOULD_SEMVER_DEVELOPMENT=false" >> $GITHUB_ENV
fi
if [[ "${{ needs.versioning.outputs.stable }}" == "${{ needs.versioning.outputs.preview }}" ]] || [[ "${{ needs.versioning.outputs.development }}" == "${{ needs.versioning.outputs.preview }}" ]]; then
echo "SHOULD_SEMVER_PREVIEW=true" >> $GITHUB_ENV
else
echo "SHOULD_SEMVER_PREVIEW=false" >> $GITHUB_ENV
fi
rm -f README.md
echo "# <b>nwserver</b>" > README.md
echo "" >> README.md
echo now=$(date '+%Y%m%d') >> $GITHUB_OUTPUT
echo "Last Updated: \`$(date)\`" >> README.md
echo "" >> README.md
echo "## Version" >> README.md
echo "" >> README.md
echo "## Stable" >> README.md
echo "\`${{ needs.versioning.outputs.stable }}\`" >> README.md
echo "" >> README.md
echo "Tags: " >> README.md
echo "" >> README.md
echo "- `ghcr.io/urothis/nwserver:${{ needs.versioning.outputs.stable }}`" >> README.md
echo "- `urothis/nwserver:${{ needs.versioning.outputs.stable }}`" >> README.md
echo "- `ghcr.io/urothis/nwserver:stable`" >> README.md
echo "- `urothis/nwserver:stable`" >> README.md
echo "" >> README.md
echo "## Development" >> README.md
echo "\`${{ needs.versioning.outputs.development }}\`" >> README.md
echo "" >> README.md
echo "Tags: " >> README.md
echo "" >> README.md
if [[ "${{ env.SHOULD_SEMVER_DEVELOPMENT }}" == "true" ]]; then
echo "- `ghcr.io/urothis/nwserver:${{ needs.versioning.outputs.development }}`" >> README.md
echo "- `urothis/nwserver:${{ needs.versioning.outputs.development }}`" >> README.md
fi
echo "- `ghcr.io/urothis/nwserver:development`" >> README.md
echo "- `urothis/nwserver:development`" >> README.md
echo "" >> README.md
echo "## Preview" >> README.md
echo "\`${{ needs.versioning.outputs.preview }}\`" >> README.md
echo "" >> README.md
echo "Tags: " >> README.md
echo "" >> README.md
if [[ "${{ env.SHOULD_SEMVER_PREVIEW }}" == "true" ]]; then
echo "- `ghcr.io/urothis/nwserver:${{ needs.versioning.outputs.preview }}`" >> README.md
echo "- `urothis/nwserver:${{ needs.versioning.outputs.preview }}`" >> README.md
fi
echo "- `ghcr.io/urothis/nwserver:preview`" >> README.md
echo "- `urothis/nwserver:preview`" >> README.md
- name: Install jq
run: sudo apt-get install -y jq
- name: write version json to file
run: |
rm -f version.json
echo '${{ needs.versioning.outputs.json }}' | jq . > version.json
- name: Commit updated Files
uses: EndBug/add-and-commit@v9
with:
add: '["README.md", "version.md"]'
message: "Update README.md"
author_name: urothis
author_email: urothis@gmail.com
github_token: ${{ secrets.GH_ACCESS_TOKEN }}