Archived
Lint Markdown files / markdown-lint (push) Successful in 52s
Update Docker Hub Description / update-description-on-hub-docker-io (push) Successful in 16s
Build / build-arch-linux (push) Successful in 5m9s
Release / push-arch-linux (push) Successful in 7m44s
Release / sync-to-hub-docker-io (push) Successful in 8m0s
Introduce a cron-triggered auto-release workflow that runs on the second Sunday of each month, creating a time-based tag in YYYY-MM format and dispatching the release workflow. The release workflow is extended with a workflow_dispatch trigger accepting a tag input, so it can be invoked both by tag pushes and programmatically by the auto-release. Version extraction is unified via a dedicated step using `inputs.tag || github.ref_name` in both jobs. Co-authored-by: Copilot <copilot@github.com>
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
name: Auto release tagged
|
|
|
|
on:
|
|
schedule:
|
|
# Second Sunday of every month at 00:00 UTC
|
|
- cron: "0 0 8-14 * 0"
|
|
|
|
env:
|
|
GIT_EMAIL: noreply@cryptic.systems
|
|
GIT_USER: CSRBot
|
|
|
|
jobs:
|
|
create_tag_and_release:
|
|
permissions:
|
|
actions: write
|
|
contents: write
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4.2.2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Create and push new tag
|
|
id: create_tag
|
|
run: |
|
|
defined_tag="$(date -u +"%Y-%m")"
|
|
|
|
echo "defined_tag=${defined_tag}" >> $GITHUB_OUTPUT
|
|
echo "New tag: ${defined_tag}"
|
|
|
|
git config --local user.name "${GIT_USER}"
|
|
git config --local user.email "${GIT_EMAIL}"
|
|
git tag -a "${defined_tag}" -m "${defined_tag}"
|
|
git push origin "${defined_tag}"
|
|
|
|
- name: Trigger "Release" workflow
|
|
uses: actions/github-script@v7.0.1
|
|
with:
|
|
script: |
|
|
const workflowFileName = 'release.yaml';
|
|
const defaultBranch = context.payload.repository.default_branch;
|
|
const definedTag = '${{ steps.create_tag.outputs.defined_tag }}';
|
|
|
|
await github.rest.actions.createWorkflowDispatch({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
workflow_id: workflowFileName,
|
|
ref: defaultBranch,
|
|
inputs: {
|
|
tag: definedTag
|
|
}
|
|
});
|