Skip to content

copilot-build-frontend #11

copilot-build-frontend

copilot-build-frontend #11

name: copilot-build-frontend
on:
workflow_dispatch:
pull_request:
branches: ["aaronba-frontend-actions-build"]
paths:
- "webapp/**"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
webapp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18
uses: actions/setup-node@v4
with:
node-version: 18
cache: "yarn"
cache-dependency-path: "webapp/yarn.lock"
fetch-depth: 0
- name: Run yarn install, yarn build, & yarn format
run: |
#!/usr/bin/env bash
set -e # exit with nonzero exit code if anything fails
echo "Running yarn install, yarn build, & yarn format"
yarn install --frozen-lockfile # install dependencies and ensure lockfile is unchanged.
yarn build # run build script
yarn format # run format script
working-directory: webapp
- name: Determine version
id: gitversion
uses: gittools/actions/gitversion/execute@v1
- name: Set version tag
id: versiontag
run: |
$VERSION_TAG = "${{ steps.gitversion.outputs.Major }}."
$VERSION_TAG += "${{ steps.gitversion.outputs.Minor }}."
$VERSION_TAG += "${{ steps.gitversion.outputs.CommitsSinceVersionSource }}"
echo $VERSION_TAG
Write-Output "versiontag=$VERSION_TAG" >> $env:GITHUB_OUTPUT
- name: Upload package to artifacts
uses: actions/upload-artifact@v4
with:
name: copilotchat-webapp-${{ steps.versiontag.outputs.versiontag }}
path: ${{ github.workspace }}\webapp\build
- name: "Set outputs"
id: artifactoutput
run: Write-Output "artifactname=copilotchat-webapp-${{ steps.versiontag.outputs.versiontag }}" >> $env:GITHUB_OUTPUT