Improve CI/CD workflows (and support merge queues)#76
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR improves the CI/CD workflows by introducing new workflow definitions for building, releasing, and deploying while removing outdated configurations, and adds support for merge queues.
- Introduces a release workflow that packages and publishes apps to the App Marketplace.
- Implements a deploy workflow for the demo environment and a build workflow integrating lint, tests, building, and tagging.
- Cleans up deprecated PR and branch build workflows and adds a main merge and feature build workflow for better merge queue support.
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/subworkflow-release.yml | New release workflow to package and release the app. |
| .github/workflows/subworkflow-deploy.yml | New deploy workflow for demo deployments using SSH and Docker. |
| .github/workflows/subworkflow-build.yml | New build workflow that lints, tests, builds, and tags the repo. |
| .github/workflows/pr_build.yml | Removed outdated PR build workflow. |
| .github/workflows/main_merge.yml | Defines main build orchestration using build and release workflows. |
| .github/workflows/feature_build.yml | Sets up feature build with merge queue support. |
| .github/workflows/branch_build.yml | Removed deprecated branch build workflow. |
| id: package | ||
| working-directory: app-package | ||
| run: | | ||
| packageFilename=`jq -r .name manifest.json | iconv -t ascii//TRANSLIT | sed -r s/[~\^]+//g | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | tr A-Z a-z` |
There was a problem hiding this comment.
[nitpick] Consider quoting the regex patterns and shell commands to avoid issues with shell globbing or unintended variable expansion. For example, wrap the sed patterns in single quotes.
| MILESTONE=$(echo "$LABELS" | grep -E 'major-version|minor-version' | head -1) | ||
| VERSION_NEW=$(pnpm run bumpManifestVer "$MILESTONE" "$VERSION" | tail -n 1) | ||
| pnpm prettier --write manifest.json | ||
| git tag -a $VERSION_NEW -m "Version $VERSION_NEW" |
There was a problem hiding this comment.
[nitpick] Wrap the $VERSION_NEW variable in quotes when invoking git tag (e.g. "git tag -a "$VERSION_NEW" ...") to ensure that special characters are handled correctly.
| git tag -a $VERSION_NEW -m "Version $VERSION_NEW" | |
| git tag -a "$VERSION_NEW" -m "Version $VERSION_NEW" |
|
Build for commit 5ff3f6e deployed to: https://github-pr-76.ci.next.deskprodemo.com URLs: |
No description provided.