[bazelcon23] add link to youtube video #41
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: Deploy to Pages | |
on: | |
push: | |
branches: ['main'] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: 'pages' | |
cancel-in-progress: false | |
jobs: | |
build-cppcon23: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: dorny/paths-filter@v2 | |
id: changes | |
with: | |
filters: .github/path-filters.yml | |
- name: authenticate to aws | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ secrets.AWS_REGION }} | |
role-to-assume: ${{ secrets.AWS_ROLE }} | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: Setup Pages | |
uses: actions/configure-pages@v3 | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: Install dependencies | |
run: | | |
npm install | |
npm -w slides/cppcon23 install | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: Build slides | |
working-directory: ./slides/cppcon23 | |
run: npm run build -- --base /talks/cppcon23 | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: Export slides | |
working-directory: ./slides/cppcon23 | |
run: npm run export | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: Prepare final artifact | |
run: | | |
mkdir -p ./dist | |
mv ./slides/cppcon23/dist ./dist/cppcon23 | |
mkdir -p ./dist/cppcon23/images | |
mv ./slides/cppcon23/images/cppcon-title-page.png ./dist/cppcon23/images | |
tar -zcf cppcon23.tar.gz ./dist | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: push api to aws | |
run: aws s3 cp cppcon23.tar.gz ${{ secrets.AWS_BUCKET }}/ | |
if: steps.changes.outputs.cppcon23 == 'true' | |
- name: pull api from aws | |
run: | | |
aws s3 cp ${{ secrets.AWS_BUCKET }}/cppcon23.tar.gz . | |
tar -zxf cppcon23.tar.gz . | |
if: steps.changes.outputs.cppcon23 == 'false' | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cppcon23 | |
path: ${{ github.workspace }}/cppcon23.tar.gz | |
retention-days: 1 | |
build-cppcon21: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: dorny/paths-filter@v2 | |
id: changes | |
with: | |
filters: .github/path-filters.yml | |
- name: authenticate to aws | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ secrets.AWS_REGION }} | |
role-to-assume: ${{ secrets.AWS_ROLE }} | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: Setup Pages | |
uses: actions/configure-pages@v3 | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: Install dependencies | |
run: | | |
npm install | |
npm -w slides/cppcon21 install | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: Build slides | |
working-directory: ./slides/cppcon21 | |
run: npm run build -- --base /talks/cppcon21 | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: Export slides | |
working-directory: ./slides/cppcon21 | |
run: npm run export | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: Prepare final artifact | |
run: | | |
mkdir -p ./dist | |
mv ./slides/cppcon21/dist ./dist/cppcon21 | |
mkdir -p ./dist/cppcon21/images | |
mv ./slides/cppcon21/images/cppcon-title-page.png ./dist/cppcon21/images | |
tar -zcf cppcon21.tar.gz ./dist | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: push api to aws | |
run: aws s3 cp cppcon21.tar.gz ${{ secrets.AWS_BUCKET }}/ | |
if: steps.changes.outputs.cppcon21 == 'true' | |
- name: pull api from aws | |
run: | | |
aws s3 cp ${{ secrets.AWS_BUCKET }}/cppcon21.tar.gz . | |
tar -zxf cppcon21.tar.gz . | |
if: steps.changes.outputs.cppcon21 == 'false' | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cppcon21 | |
path: ${{ github.workspace }}/cppcon21.tar.gz | |
retention-days: 1 | |
build-bazelcon23: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: dorny/paths-filter@v2 | |
id: changes | |
with: | |
filters: .github/path-filters.yml | |
- name: authenticate to aws | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ secrets.AWS_REGION }} | |
role-to-assume: ${{ secrets.AWS_ROLE }} | |
if: steps.changes.outputs.bazelcon23 == 'true' | |
- name: Prepare final artifact | |
run: | | |
mkdir -p ./dist/bazelcon23/images | |
mv ./slides/bazelcon23/redirect.html ./dist/bazelcon23/index.html | |
mv ./slides/bazelcon23/slides-bazelcon23-pejman.pdf ./dist/bazelcon23/ | |
mv ./slides/bazelcon23/images/bazelcon-cover.png ./dist/bazelcon23/images/ | |
tar -zcf bazelcon23.tar.gz ./dist | |
if: steps.changes.outputs.bazelcon23 == 'true' | |
- name: push api to aws | |
run: aws s3 cp bazelcon23.tar.gz ${{ secrets.AWS_BUCKET }}/ | |
if: steps.changes.outputs.bazelcon23 == 'true' | |
- name: pull api from aws | |
run: | | |
aws s3 cp ${{ secrets.AWS_BUCKET }}/bazelcon23.tar.gz . | |
tar -zxf bazelcon23.tar.gz . | |
if: steps.changes.outputs.bazelcon23 == 'false' | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bazelcon23 | |
path: ${{ github.workspace }}/bazelcon23.tar.gz | |
retention-days: 1 | |
bundle: | |
runs-on: ubuntu-latest | |
needs: | |
- build-cppcon21 | |
- build-cppcon23 | |
- build-bazelcon23 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download CppCon21 artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: cppcon21 | |
path: ${{ github.workspace }} | |
- name: Download CppCon23 artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: cppcon23 | |
path: ${{ github.workspace }} | |
- name: Download BazelCon23 artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: bazelcon23 | |
path: ${{ github.workspace }} | |
- name: Add redirect page | |
run: | | |
tar -xf cppcon21.tar.gz | |
tar -xf cppcon23.tar.gz | |
tar -xf bazelcon23.tar.gz | |
mv ./slides/redirect.html ./dist/index.html | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: ./dist | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: bundle | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |