diff --git a/.github/workflows/translations-release.yml b/.github/workflows/translations-release.yml new file mode 100644 index 0000000..ba845ab --- /dev/null +++ b/.github/workflows/translations-release.yml @@ -0,0 +1,66 @@ +name: Generate and publish translations to releases + +on: + push: + tags: + - '*' + schedule: + # This will run at 00:00 UTC on the first day of every month + - cron: '0 0 1 * *' + workflow_dispatch: + +env: + GH_TOKEN: ${{ github.token }} + +permissions: + contents: write # to upload assets to releases + +jobs: + translations: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'npm' + + - name: Install npm dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Fetch sources + run: | + wget https://github.com/tldr-pages/tldr/archive/refs/heads/main.zip --output-document /tmp/main.zip + unzip /tmp/main.zip -d /tmp + + - name: Generate CSV dataset + run: | + npm run tldr-translation-pairs-gen -- --source /tmp/tldr-main --output tldr-translation-pairs-dataset-csv --format csv + zip tldr-translations-dataset-csv.zip tldr-translation-pairs-dataset-csv/* + + - name: Generate TMX dataset + run: | + npm run tldr-translation-pairs-gen -- --source /tmp/tldr-main --output tldr-translation-pairs-dataset-tmx --format tmx + zip tldr-translations-dataset-tmx.zip tldr-translation-pairs-dataset-tmx/* + + - name: Generate JSON dataset + run: | + npm run tldr-translation-pairs-gen -- --source /tmp/tldr-main --output tldr-translation-pairs-dataset-json --format json + zip tldr-translations-dataset-json.zip tldr-translation-pairs-dataset-json/* + + - name: Generate XML dataset + run: | + npm run tldr-translation-pairs-gen -- --source /tmp/tldr-main --output tldr-translation-pairs-dataset-xml --format xml + zip tldr-translations-dataset-xml.zip tldr-translation-pairs-dataset-xml/* + + - name: Deploy to Release + if: github.repository == 'tldr-pages/tldr-translation-pairs-gen' && github.ref == 'refs/heads/main' + run: | + export RELEASE_TAG="$(git describe --tags --abbrev=0)" + gh release --repo tldr-pages/tldr-translation-pairs-gen upload --clobber "$RELEASE_TAG" -- *.zip