Best practices for policies #2409
Workflow file for this run
This file contains hidden or 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 Channel | |
on: pull_request | |
# Allow this job to clone the repo and create a page deployment | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
branch_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
env: | |
SHOULD_DEPLOY: ${{ secrets.OCTOPUSSERVERURL != '' || '' }} | |
OCTOPUS_URL: ${{ secrets.OCTOPUSSERVERURL }} | |
OCTOPUS_API_KEY: ${{ secrets.OCTOPUSSERVERAPIKEY }} | |
OCTOPUS_SPACE: "DevOps Microsite" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
version: 10.13.1 | |
run_install: false | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'pnpm' | |
cache-dependency-path: 'pnpm-lock.yaml' | |
- name: Get pnpm store directory | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ env.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: PNPM and Playwright install | |
run: | | |
echo; echo "cd to workspace" | |
cd $GITHUB_WORKSPACE | |
echo; echo "listing" | |
ls | |
echo; echo "NPM install" | |
pnpm install | |
- name: Astro build and test | |
run: | | |
export NODE_OPTIONS=--max_old_space_size=4096 | |
pnpm dev:img | |
pnpm test | |
pnpm crawl | |
pnpm thin | |
- name: Set Version | |
run: | | |
echo "PACKAGE_VERSION=$(date +'%Y.%m.%d').$GITHUB_RUN_NUMBER" >> $GITHUB_ENV | |
- name: Check output | |
run: | | |
echo; echo "cd to workspace" | |
cd $GITHUB_WORKSPACE | |
echo; echo "listing" | |
ls | |
- name: Create a Zip package π | |
id: package | |
uses: OctopusDeploy/create-zip-package-action@v3 | |
with: | |
package_id: 'DocsMicrosite' | |
version: "${{ env.PACKAGE_VERSION }}-pullrequest" | |
base_path: "./dist" | |
output_folder: "./artifacts" | |
files: | | |
**/*.* | |
- name: Push a package to Octopus Deploy π | |
uses: OctopusDeploy/push-package-action@v3.0.2 | |
if: ${{ env.SHOULD_DEPLOY }} | |
with: | |
packages: ${{ steps.package.outputs.package_file_path }} | |
- name: Let people download package | |
uses: actions/upload-artifact@v4 | |
if: ${{ ! env.SHOULD_DEPLOY }} | |
with: | |
name: docs-microsite | |
path: ${{ steps.package.outputs.package_file_path }} | |
- name: Push build information to Octopus Deploy π | |
uses: OctopusDeploy/push-build-information-action@v3 | |
if: ${{ env.SHOULD_DEPLOY }} | |
with: | |
version: "${{ env.PACKAGE_VERSION }}-pullrequest" | |
packages: ${{ steps.package.outputs.package_file_path }} | |
- name: Create a release in Octopus Deploy π | |
id: "create_release" | |
uses: OctopusDeploy/create-release-action@v3 | |
if: ${{ env.SHOULD_DEPLOY }} | |
with: | |
project: "Docs Microsite" | |
package_version: "${{ env.PACKAGE_VERSION }}-pullrequest" | |
git_ref: ${{ github.ref }} |