refactor: streamlined devcontainer configuration #115
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
# | |
# this is the release workflow that is triggered by a push to main or develop branches | |
# it will | |
# - build the project | |
# - @TODO: save the artifacts to the workflow | |
# - @TODO: create a GitHub releases with changelog and upload the artifacts | |
# | |
name: 'release' | |
on: | |
# rebuild any PRs and main branch changes | |
pull_request: | |
push: | |
branches: | |
- main | |
- develop | |
permissions: | |
# write-all is too much, but we need to write to packages | |
# see https://github.com/orgs/community/discussions/57724 for more info | |
contents: read | |
packages: write | |
attestations: write | |
id-token: write | |
jobs: | |
build_devcontainer_image: | |
uses: ./.github/workflows/build-devcontainer-image.yaml | |
secrets: inherit | |
build: | |
runs-on: ubuntu-latest | |
needs: | |
- build_devcontainer_image | |
steps: | |
- name: checkout branch from git | |
uses: actions/checkout@v4 | |
- name: display output name | |
run: echo "image_name=${{ needs.build_devcontainer_image.outputs.image_name }}" | |
- uses: "./.github/shared/actions/devcontainer-shell-run" | |
name: build_project | |
id: build_project | |
with: | |
runCmd: | | |
env | |
pnpm install --frozen-lockfile | |
pnpm build | |
# mark project already built for the next commands | |
export BUILD_UP_TO_DATE=1 | |
pnpm test | |
- name: print output | |
run: | | |
cat <<EOF | |
stdout was= | |
${{ steps.build_project.outputs.runCmdOutput }}" | |
EOF | |
- uses: "./.github/shared/actions/devcontainer-shell-run" | |
id: gather_builded_directories | |
name: gather builded directories | |
with: | |
runCmd: | | |
find ./packages -mindepth 3 -maxdepth 3 -type d -name "dist" -exec ls -la {} \; | |
- name: print build directories | |
run: | | |
cat <<EOF | |
stdout was= | |
${{ steps.gather_builded_directories.outputs.runCmdOutput }} | |
EOF |