You've already forked Tricky-Addon-Update-Target-List
mirror of
https://github.com/KOWX712/Tricky-Addon-Update-Target-List.git
synced 2025-09-06 06:37:09 +00:00
workflow test
This commit is contained in:
42
.github/workflows/canary.yml
vendored
Normal file
42
.github/workflows/canary.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
name: canary
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Extract Module Info
|
||||
id: extract_info
|
||||
run: |
|
||||
# Extract module name and version
|
||||
MODULE_NAME=$(grep -oP '^name=\K.*' module/module.prop | tr ' ' '_')
|
||||
MODULE_VERSION=$(grep -oP '^version=\K.*' module/module.prop)
|
||||
|
||||
# Generate build count based on GitHub Actions run number
|
||||
BUILD_COUNT=$((1000 + ${{ github.run_number }}))
|
||||
|
||||
# Combine for artifact name
|
||||
ARTIFACT_NAME="${MODULE_NAME}-${MODULE_VERSION}-${BUILD_COUNT}"
|
||||
|
||||
echo "MODULE_NAME=${MODULE_NAME}" >> $GITHUB_ENV
|
||||
echo "MODULE_VERSION=${MODULE_VERSION}" >> $GITHUB_ENV
|
||||
echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
|
||||
|
||||
- name: Create ZIP Archive
|
||||
run: |
|
||||
zip -r "${ARTIFACT_NAME}.zip" module
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.ARTIFACT_NAME }}
|
||||
path: ${{ env.ARTIFACT_NAME }}.zip
|
||||
97
.github/workflows/release.yml
vendored
Normal file
97
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'module/module.prop'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Get the version from module.prop
|
||||
id: get_version
|
||||
run: |
|
||||
VERSION=$(grep '^version=' module/module.prop | sed 's/version=//')
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
|
||||
- name: Check if version is already tagged
|
||||
id: check_version
|
||||
run: |
|
||||
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "none")
|
||||
echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV
|
||||
if [ "$LATEST_TAG" == "none" ]; then
|
||||
echo "skip=false" >> $GITHUB_ENV
|
||||
elif [ "$LATEST_TAG" == "$VERSION" ]; then
|
||||
echo "skip=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "skip=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Configure Git user
|
||||
if: env.skip == 'false'
|
||||
run: |
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
|
||||
- name: Create a new tag (if version changed)
|
||||
if: env.skip == 'false'
|
||||
run: |
|
||||
git tag -a "$VERSION" -m "Release version $VERSION"
|
||||
git push origin "$VERSION"
|
||||
|
||||
- name: Set release variables
|
||||
if: env.skip == 'false'
|
||||
id: setup
|
||||
run: |
|
||||
CURRENT_TAG="$VERSION"
|
||||
RELEASE_NOTES=$(awk -v tag="### $CURRENT_TAG" '
|
||||
$0 == tag {flag=1; next}
|
||||
/^###/ && flag {exit}
|
||||
flag {print}
|
||||
' changelog.md)
|
||||
|
||||
FORMATTED_RELEASE_NOTES=$(printf "### Tricky Addon module\n%s\n---\n### Tricky Addon Lite - script only\n- Check on [changelog](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/tree/main/lite-script_only#tricky-addon-lite-update-target-list-script)" "$RELEASE_NOTES")
|
||||
|
||||
echo "$FORMATTED_RELEASE_NOTES" > release_notes.txt
|
||||
echo "RELEASE_NOTES<<EOF" >> $GITHUB_ENV
|
||||
cat release_notes.txt >> $GITHUB_ENV
|
||||
echo "EOF" >> $GITHUB_ENV
|
||||
echo "CURRENT_TAG=$CURRENT_TAG" >> $GITHUB_ENV
|
||||
echo "ZIP_NAME=TrickyAddonModule-${VERSION}.zip" >> $GITHUB_ENV
|
||||
echo "ZIP_PATH=module" >> $GITHUB_ENV
|
||||
echo "LITE_SCRIPT_ONLY_ZIP_NAME=TrickyAddonLite_ScriptOnly_Extract-${VERSION}.zip" >> $GITHUB_ENV
|
||||
echo "LITE_SCRIPT_ONLY_PATH=lite-script_only" >> $GITHUB_ENV
|
||||
|
||||
- name: Compress the module folder
|
||||
if: env.skip == 'false'
|
||||
run: |
|
||||
echo "Compressing module folder..."
|
||||
zip -r "${{ env.ZIP_NAME }}" "${{ env.ZIP_PATH }}"
|
||||
echo "Created zip file: ${{ env.ZIP_NAME }}"
|
||||
|
||||
- name: Compress the lite-script_only folder
|
||||
if: env.skip == 'false'
|
||||
run: |
|
||||
echo "Compressing lite-script_only folder..."
|
||||
zip -r "${{ env.LITE_SCRIPT_ONLY_ZIP_NAME }}" "${{ env.LITE_SCRIPT_ONLY_PATH }}"
|
||||
echo "Created zip file: ${{ env.LITE_SCRIPT_ONLY_ZIP_NAME }}"
|
||||
|
||||
- name: Create release
|
||||
if: env.skip == 'false'
|
||||
uses: softprops/action-gh-release@v2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
files: ${{ env.ZIP_NAME }},${{ env.LITE_SCRIPT_ONLY_ZIP_NAME }}
|
||||
tag_name: ${{ env.CURRENT_TAG }}
|
||||
name: ${{ env.CURRENT_TAG }}
|
||||
body: ${{ env.RELEASE_NOTES }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
Reference in New Issue
Block a user