Skip to content

music: some updates to Sanctus for Epiphany page #96

music: some updates to Sanctus for Epiphany page

music: some updates to Sanctus for Epiphany page #96

Workflow file for this run

name: Continuous Integration and Deployment
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
CARGO_PROFILE_TEST_DEBUG: 0
jobs:
changes:
name: Identify changes
runs-on: ubuntu-22.04
permissions:
pull-requests: read
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
lx:
- Cargo.toml
- Cargo.lock
- lx/src/**
- lx/crates/**
links: [sites/music/**, sites/_shared]
music: [sites/music/**, sites/_shared]
v6: [sites/v6/**, sites/_shared]
www: [sites/www/**, sites/_shared]
cfg: [render.yaml, _scripts/**, .github/workflows/**]
outputs:
lx: ${{ steps.filter.outputs.lx }}
links: ${{ steps.filter.outputs.links }}
music: ${{ steps.filter.outputs.music }}
v6: ${{ steps.filter.outputs.v6 }}
www: ${{ steps.filter.outputs.www }}
cfg: ${{ steps.filter.outputs.cfg }}
check:
name: Lint and Test
needs: [changes]
if: ${{ needs.changes.outputs.lx == 'true' || needs.changes.outputs.cfg == 'true' || github.event_name == 'workflow_dispatch' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: taiki-e/install-action@nextest
- run: cargo fmt --all --quiet -- --check
- run: cargo check --locked
- run: cargo clippy --locked -- --no-deps
- run: cargo nextest run --locked --no-fail-fast
release:
name: Create and upload release
needs: [check]
if: ${{
(github.event.push.commits.author.username == 'chriskrycho' && github.ref_name == 'main')
|| github.event_name == 'workflow_dispatch'
}}
permissions:
contents: write
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Create release build
run: cargo build --locked --release
- name: Show release build info
run: ls -l target/release/lx
- name: Rename and move release binary
run: mv target/release/lx lx-linux
- name: Generate Release Name
id: release_name
run: |
SHA=$(git rev-parse --short HEAD)
echo "release_name=lx-${SHA}" >> "$GITHUB_OUTPUT"
- uses: softprops/action-gh-release@v2
with:
files: lx-linux
fail_on_unmatched_files: true
name: ${{ steps.release_name.outputs.release_name }}
tag_name: ${{ steps.release_name.outputs.release_name }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-check:
name: Check build results
needs: [check, release]
runs-on: ubuntu-22.04
steps:
- name: Check results
id: check
run: |
check_result="${{ needs.check.result }}"
release_result="${{ needs.release.result }}"
all_skipped=$([[ $check_result == "skipped" ]] && echo true || echo false)
all_success=$([[ $check_result == "success" && $release_result == "success" ]] && echo true || echo false)
if [[ $all_skipped == "true" ]]; then
STATE=not-needed
elif [[ $all_success == "true" ]]; then
STATE=succeeded
else
STATE=failed
fi
echo "state: $STATE"
echo "state=$STATE" >> "$GITHUB_OUTPUT"
outputs:
state: ${{ steps.check.outputs.state }}
trigger-deploy-music:
needs: [changes, build-check]
if: ${{
github.ref == 'refs/heads/main' &&
(((needs.changes.outputs.music == 'true' || needs.changes.outputs.cfg == 'true' || github.event_name == 'workflow_dispatch')
&& needs.build-check.outputs.state == 'non-needed')
|| needs.build-check.outputs.state == 'succeeded')
}}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Render deploy hook
env:
deploy_url: ${{ secrets.RENDER_DEPLOY_HOOK_MUSIC }}
run: curl "$deploy_url"
trigger-deploy-v6:
needs: [changes, build-check]
if: ${{
github.ref == 'refs/heads/main' &&
(((needs.changes.outputs.v6 == 'true' || needs.changes.outputs.cfg == 'true' || github.event_name == 'workflow_dispatch')
&& needs.build-check.outputs.state == 'non-needed')
|| needs.build-check.outputs.state == 'succeeded')
}}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Render deploy hook
env:
deploy_url: ${{ secrets.RENDER_DEPLOY_HOOK_V6 }}
run: curl "$deploy_url"