Merge pull request #322 from tlspuffin/youtube-video #5
This file contains 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: on-pr-merged | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: read | |
# NOTE: we prevent parallel runs of this workflow | |
# | |
# We change the concurrency settings so that: | |
# - only one workflow can run at any time | |
# - scheduling a new run will put the run in a waiting queue | |
# - scheduling a new run will evict any run already in the waiting queue | |
# - started runs are not cancelled | |
# | |
# This should prevent successive merges in a short time window to create | |
# overlapping or partial deployements. | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: false | |
jobs: | |
validation: | |
uses: ./.github/workflows/run-validation.yml | |
with: | |
profile: full | |
prebuild: | |
needs: [validation] | |
name: Pre-build tlspuffin Binaries | |
uses: ./.github/workflows/run-prebuild.yml | |
benchmark: | |
uses: ./.github/workflows/run-benchmarks.yml | |
website: | |
name: Package Website | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
shell: bash | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup | |
uses: ./.github/actions/setup | |
- name: build website | |
run: just website-pkg | |
- name: upload website artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: website | |
path: target/package/build/website | |
deploy: | |
needs: [website] | |
name: Update Website Repository | |
runs-on: ubuntu-22.04 | |
environment: github-pages | |
if: github.repository == 'tlspuffin/tlspuffin' | |
steps: | |
- name: checkout website repository | |
uses: actions/checkout@v4 | |
with: | |
repository: 'tlspuffin/tlspuffin.github.io' | |
ref: 'main' | |
ssh-key: ${{ secrets.WEBSITE_REPO_KEY }} | |
- name: remove previous website folder | |
run: | | |
git rm -rf --ignore-unmatch website/ | |
rm -rf website | |
- name: add updated website | |
uses: actions/download-artifact@v4 | |
with: | |
name: website | |
path: website | |
- name: push the changes | |
run: | | |
git config --global user.email tlspuffin@tlspuffin | |
git config --global user.name tlspuffin | |
git add website | |
git commit -m "deploy from ${{ github.repository }}/${{ github.ref}}@${{ github.sha }}" | |
git push |