mirror of
				https://github.com/steveiliop56/tinyauth.git
				synced 2025-11-03 23:55:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Publish translations
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - i18n_v*
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
permissions:
 | 
						|
  contents: read
 | 
						|
  pages: write
 | 
						|
  id-token: write
 | 
						|
 | 
						|
concurrency:
 | 
						|
  group: pages
 | 
						|
  cancel-in-progress: false
 | 
						|
 | 
						|
jobs:
 | 
						|
  get-branches:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    outputs:
 | 
						|
      i18n-branches: ${{ steps.get-branches.outputs.result }}
 | 
						|
    steps:
 | 
						|
      - name: Get branches
 | 
						|
        id: get-branches
 | 
						|
        uses: actions/github-script@v7
 | 
						|
        with:
 | 
						|
          script: |
 | 
						|
            const { data: repos } = await github.rest.repos.listBranches({
 | 
						|
              owner: context.repo.owner,
 | 
						|
              repo: context.repo.repo,
 | 
						|
            })
 | 
						|
 | 
						|
            const i18nBranches = repos.filter((branch) => branch.name.startsWith("i18n_v"))
 | 
						|
            const i18nBranchNames = i18nBranches.map((branch) => branch.name)
 | 
						|
 | 
						|
            return i18nBranchNames
 | 
						|
 | 
						|
  get-translations:
 | 
						|
    needs: get-branches
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        branch: ${{ fromJson(needs.get-branches.outputs.i18n-branches) }}
 | 
						|
    steps:
 | 
						|
      - name: Checkout
 | 
						|
        uses: actions/checkout@v4
 | 
						|
        with:
 | 
						|
          ref: ${{ matrix.branch }}
 | 
						|
 | 
						|
      - name: Get translation version
 | 
						|
        id: get-version
 | 
						|
        run: |
 | 
						|
          branch=${{ matrix.branch }}
 | 
						|
          version=${branch#i18n_}
 | 
						|
          echo "version=$version" >> $GITHUB_OUTPUT
 | 
						|
 | 
						|
      - name: Upload translations
 | 
						|
        uses: actions/upload-artifact@v4
 | 
						|
        with:
 | 
						|
          name: ${{ steps.get-version.outputs.version }}
 | 
						|
          path: frontend/src/lib/i18n/locales
 | 
						|
 | 
						|
  build:
 | 
						|
    needs: get-translations
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Setup Pages
 | 
						|
        uses: actions/configure-pages@v4
 | 
						|
 | 
						|
      - name: Prepare output directory
 | 
						|
        run: |
 | 
						|
          mkdir -p dist/i18n/
 | 
						|
 | 
						|
      - name: Download translations
 | 
						|
        uses: actions/download-artifact@v4
 | 
						|
        with:
 | 
						|
          path: dist/i18n/
 | 
						|
 | 
						|
      - name: Upload artifact
 | 
						|
        uses: actions/upload-pages-artifact@v3
 | 
						|
        with:
 | 
						|
          path: dist
 | 
						|
 | 
						|
  deploy:
 | 
						|
    environment:
 | 
						|
      name: github-pages
 | 
						|
      url: ${{ steps.deployment.outputs.page_url }}
 | 
						|
    needs: build
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    name: Deploy
 | 
						|
    steps:
 | 
						|
      - name: Deploy to GitHub Pages
 | 
						|
        id: deployment
 | 
						|
        uses: actions/deploy-pages@v4
 |