feat: open in codespace badge #32
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: 'build' | |
on: # rebuild any PRs and main branch changes | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout (GitHub) | |
uses: actions/checkout@v3 | |
- name: Create directories and set permissions | |
run: | | |
mkdir dist | |
mkdir target | |
mkdir node_modules | |
sudo chown -R 1000:1000 . | |
- name: Build and run dev container task | |
uses: devcontainers/ci@v0.3 | |
with: | |
skipContainerUserIdUpdate: true | |
push: never | |
runCmd: | | |
id | |
ls -lah | |
cargo test --all-targets --all-features | |
cargo clippy --all-targets --all-features -- -D warnings | |
cargo build | |
npm install | |
npm run release | |
- name: Restore permissions | |
run: | | |
sudo chown -R $USER . | |
- name: Copy files to _site | |
run: | | |
mkdir -p _site | |
cp -r dist/* _site/ | |
- name: Fix permissions | |
run: | | |
chmod -c -R +rX "_site/" | while read line; do | |
echo "::warning title=Invalid file permissions automatically fixed::$line" | |
done | |
- name: Upload Pages artifact | |
uses: actions/upload-pages-artifact@v2 | |
# - name: Publish artifacts | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: dist | |
# path: dist | |
# retention-days: 7 | |
# Deploy job | |
deploy: | |
# Add a dependency to the build job | |
needs: build | |
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment | |
permissions: | |
pages: write # to deploy to Pages | |
id-token: write # to verify the deployment originates from an appropriate source | |
# Deploy to the github-pages environment | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
# Specify runner + deployment step | |
runs-on: ubuntu-latest | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 # or the latest "vX.X.X" version tag for this action |