Fix custom ordering in metadata #125
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PRs » Publish Pull Request Page | |
| on: | |
| pull_request_target: | |
| types: | |
| - opened | |
| - synchronize | |
| concurrency: | |
| group: pull-request-page | |
| cancel-in-progress: false | |
| jobs: | |
| detect-repo-owner: | |
| if: github.repository_owner == 'opencast' | |
| runs-on: ubuntu-latest | |
| outputs: | |
| server: ${{ steps.test-server.outputs.server }} | |
| branch: ${{ steps.branch-name.outputs.branch }} | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{github.event.pull_request.head.ref}} | |
| repository: ${{github.event.pull_request.head.repo.full_name}} | |
| - name: Determine the correct test server | |
| id: test-server | |
| run: echo "server=https://`./.github/get-release-server.sh ${{ github.ref_name }}`" >> $GITHUB_OUTPUT | |
| - name: Determine branch name | |
| id: branch-name | |
| run: | | |
| #Temp becomes something like r/17.x | |
| export TEMP=${{ github.ref_name }} | |
| #Strip the r/ prefix, giving us just 17.x. If this is main/develop this does nothing | |
| echo "branch=${TEMP#r\/}" >> $GITHUB_OUTPUT | |
| deploy-pr: | |
| runs-on: ubuntu-latest | |
| needs: detect-repo-owner | |
| steps: | |
| - name: Generate build path | |
| run: echo "build=${{github.event.number}}/$(date +%Y-%m-%d_%H-%M-%S)/" >> $GITHUB_OUTPUT | |
| id: build-path | |
| - name: Checkout sources | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{github.event.pull_request.head.ref}} | |
| repository: ${{github.event.pull_request.head.repo.full_name}} | |
| - name: Get Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 20 | |
| - name: Run npm ci | |
| run: npm ci | |
| - name: Build the app | |
| run: | | |
| npm run build | |
| env: | |
| VITE_TEST_SERVER_URL: ${{needs.detect-repo-owner.outputs.server}} | |
| NODE_ENV: development | |
| VITE_TEST_SERVER_AUTH: "admin:opencast" | |
| - name: Prepare git | |
| run: | | |
| git config --global user.name "Admin Interface Deployment Bot" | |
| git config --global user.email "cloud@opencast.org" | |
| - name: Prepare GitHub SSH key from org level secret | |
| env: | |
| DEPLOY_KEY: ${{ secrets.DEPLOY_KEY_TEST }} | |
| run: | | |
| install -dm 700 ~/.ssh/ | |
| echo "${DEPLOY_KEY}" > ~/.ssh/id_ed25519 | |
| chmod 600 ~/.ssh/id_ed25519 | |
| ssh-keyscan github.com >> ~/.ssh/known_hosts | |
| - name: Wait for previous workflows to finish | |
| uses: softprops/turnstyle@v3 | |
| with: | |
| same-branch-only: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Clone repository | |
| run: | | |
| git clone -b gh-pages "git@github.com:${{ github.repository_owner }}/opencast-admin-interface-test.git" admin-interface-test | |
| - name: Store build in the clone | |
| env: | |
| DEPLOY_PATH: admin-interface-test/${{ steps.build-path.outputs.build }} | |
| run: | | |
| mkdir -p ${DEPLOY_PATH} | |
| cp -rv build/* ${DEPLOY_PATH} | |
| - name: Cleanup test repository | |
| working-directory: admin-interface-test | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| wget https://raw.githubusercontent.com/${{ github.repository_owner }}/opencast-admin-interface-test/main/.github/scripts/cleanup-deployments.sh | |
| bash cleanup-deployments.sh ${{ github.repository_owner }}/opencast-admin-interface | |
| rm -f cleanup-deployments.sh | |
| git add . | |
| - name: Generate index.html | |
| working-directory: admin-interface-test | |
| run: | | |
| echo '<html><body><ul>' > index.html | |
| find . -maxdepth 2 -name '*_*' -type d \ | |
| | sort -r \ | |
| | sed 's/^\(.*\)$/<li><a href=\1>\1<\/a><\/li>/' >> index.html | |
| echo '</ul></body></html>' >> index.html | |
| - name: Commit new version | |
| working-directory: admin-interface-test | |
| run: | | |
| git add . | |
| git commit --amend -m "Build ${{ steps.build-path.outputs.build }}" | |
| - name: Force push admin interface test branch | |
| working-directory: admin-interface-test | |
| run: | | |
| git push origin gh-pages --force | |
| - name: Add comment with deployment location | |
| uses: thollander/actions-comment-pull-request@v3 | |
| with: | |
| comment-tag: static-test-deployment | |
| message: > | |
| This pull request is deployed at | |
| [test.admin-interface.opencast.org/${{ steps.build-path.outputs.build }} | |
| ](https://test.admin-interface.opencast.org/${{ steps.build-path.outputs.build }}). | |
| It might take a few minutes for it to become available. | |
| check-no-modified-translations: | |
| name: Translations only via Crowdin | |
| if: github.repository_owner == 'opencast' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Sources | |
| uses: actions/checkout@v4 | |
| - name: Get changed locale files | |
| uses: dorny/paths-filter@v3 | |
| id: filter_locales | |
| with: | |
| filters: | # !(pattern) matches anything but pattern | |
| locales: | |
| - 'src/i18n/org/opencastproject/adminui/languages/!lang-(en_US)*.json' | |
| - name: Check for changes in translations | |
| if: steps.filter_locales.outputs.locales == true | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| core.setFailed('You should not alter translations outside of Crowdin.') |