Skip to content

Weekly tag

Weekly tag #91

Workflow file for this run

# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: MIT
#
name: Weekly tag
on:
schedule:
- cron: 18 16 * * 0
workflow_dispatch:
permissions:
contents: write
jobs:
tag:
runs-on: ubuntu-24.04
steps:
- name: 🏷️ Create/update tag
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
github-token: ${{ secrets.WEBLATE_CI_TOKEN }} # zizmor: ignore[secrets-outside-env]
script: |
const now = new Date;
const onejan = new Date(now.getFullYear(), 0, 1);
/* This is not a ISO-8601 week number but works well for versioning */
const week = Math.ceil((((now.getTime() - onejan.getTime()) / 86400000) + onejan.getDay() + 1) / 7);
const tagName = `v${ now.getFullYear() }.${ week }.0`;
const tag_result = await github.rest.git.createTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: tagName,
message: `chore: automatically tagged release ${ tagName }`,
object: context.sha,
type: 'commit',
});
console.log(tag_result);
const ref_result = await github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `refs/tags/${ tagName }`,
sha: context.sha
});
console.log(ref_result);