Skip to content

[publisher] Fix shorthand code #88

[publisher] Fix shorthand code

[publisher] Fix shorthand code #88

Workflow file for this run

name: Release
on:
push:
branches:
- main
jobs:
addon:
name: ${{ matrix.config.name }}
runs-on: ubuntu-latest
#environment: asset-library
strategy:
fail-fast: false
matrix:
config:
- {
id: "aspect_ratio_resize_container",
name: "AspectRatioResizeContainer",
asset-id: "2089",
}
- {
id: "custom_theme_overrides",
name: "Custom Theme Overrides",
asset-id: "2091",
}
- {
id: "git_sha_project_setting",
name: "Git SHA Project Setting",
asset-id: "1979",
}
- {
id: "glogging",
name: "GLogging",
asset-id: "no-deploy",
}
- {
id: "hide_private_properties",
name: "Hide Private Properties",
asset-id: "1989",
}
- {
id: "icon_explorer",
name: "Icon Explorer",
asset-id: "2511",
}
- {
id: "icons_patcher",
name: "Icons Patcher",
asset-id: "1980",
}
- {
id: "licenses",
name: "License Manager",
asset-id: "1969",
}
- {
id: "qr_code",
name: "QR Code",
asset-id: "2090",
}
- {
id: "texture_button_colored",
name: "TextureButtonColored",
asset-id: "2092",
}
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 -b ../ -a ${{ matrix.config.id }} -o ../archives/
go run . github -b ../ -a ${{ matrix.config.id }} -o $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: Deploy to GitHub Release
if: ${{ steps.checkTag.outputs.exists == 'false' }}
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
gh release create ${{ matrix.config.id }}-${{ steps.prepare-artifacts.outputs.version }} ./archives/* --title "${{ matrix.config.name }} ${{ steps.prepare-artifacts.outputs.version }}" --notes "${{ steps.prepare-artifacts.outputs.notes }}"
#- name: Deploy to Godot Asset Library
# if: ${{ matrix.config.asset-id != 'no-deploy' }}
# working-directory: publisher
# run: |
# go run . asset-library -b ../ -a ${{ matrix.config.id }} -u "${{ secrets.GD_ASSET_LIBRARY_USER }}" -p "${{ secrets.GD_ASSET_LIBRARY_PASSWORD }}" --asset-id "${{ matrix.config.asset-id }}"
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 }}