Skip to content

[merge] Update licenses plugin #62

[merge] Update licenses plugin

[merge] Update licenses plugin #62

Workflow file for this run

name: Release
on:
push:
branches:
- main
jobs:
addon:
name: ${{ matrix.config.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
config:
- {
id: "aspect_ratio_resize_container",
name: "AspectRatioResizeContainer",
}
- {
id: "custom_theme_overrides",
name: "Custom Theme Overrides",
}
- {
id: "git_sha_project_setting",
name: "Git SHA Project Setting",
}
- {
id: "glogging",
name: "GLogging",
}
- {
id: "hide_private_properties",
name: "Hide Private Properties",
}
- {
id: "icons_patcher",
name: "Icons Patcher",
}
- {
id: "licenses",
name: "Licenses",
}
- {
id: "qr_code",
name: "QR Code",
}
- {
id: "texture_button_colored",
name: "TextureButtonColored",
}
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
- name: Update environment
run: |
sudo apt update -qq
sudo apt install -y golang
- name: Checkout
uses: actions/checkout@v3
- name: Fix git ownership
run: |
# this is to fix GIT not liking owner of the checkout dir
chown -R $(id -u):$(id -g) $PWD
- name: Prepare artifacts
id: "prepare-artifacts"
working-directory: publisher
run: |
go run . zip ../ ${{ matrix.config.id }}
echo "version=$(go run . version ../ ${{ matrix.config.id }})" >> $GITHUB_OUTPUT
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.config.name }}
path: archives/${{ matrix.config.id }}-*.zip
- uses: mukunku/tag-exists-action@v1.2.0
id: checkTag
with:
tag: ${{ matrix.config.id }}-${{steps.prepare-artifacts.outputs.version}}
- name: Prepare Release
if: ${{ steps.checkTag.outputs.exists == 'false' }}
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git tag ${{ matrix.config.id }}-${{steps.prepare-artifacts.outputs.version}}
git push origin tag ${{ matrix.config.id }}-${{steps.prepare-artifacts.outputs.version}}
# wait 5s that the pushed tag is available in the next step, sometimes the next step saw only the local tag
- name: Wait 5s
run: sleep 5s
shell: bash
- name: Release addon
if: ${{ steps.checkTag.outputs.exists == 'false' }}
env:
GITHUB_TOKEN: ${{ github.token }}
NOTES: |
${{ matrix.config.name }}
Version: ${{steps.prepare-artifacts.outputs.version}}
run: |
gh release create ${{ matrix.config.id }}-${{steps.prepare-artifacts.outputs.version}} ./archives/* --title "${{ matrix.config.name }} ${{steps.prepare-artifacts.outputs.version}}" --notes "${{ env.NOTES }}"
combined-release:
name: Combined Release
runs-on: ubuntu-latest
needs:
- addon
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
- name: Checkout
uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
path: archives
- name: Prepare Release
run: |
find archives/ -type f -print0 | xargs -0 mv -t archives
git config user.name github-actions
git config user.email github-actions@github.com
git tag latest
git push -f origin tag latest
- name: Release
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NOTES: |
Providing the latest release of all addons at one place.
This release tag is continuously updated.
run: |
output=$(gh release delete latest -y 2>&1) || [[ "${output}" == "release not found" ]]
gh release create latest ./archives/*.zip --latest --title "Latest Release" --notes "${{ env.NOTES }}" --target ${{ github.sha }}