Skip to content

build: update angular shared dev-infra code #441

build: update angular shared dev-infra code

build: update angular shared dev-infra code #441

# This workflow builds the dev-app for pull requests when a certain label is applied.
# The actual deployment happens as part of a dedicated second workflow to avoid security
# issues where the building would otherwise occur in an authorized context where secrets
# could be leaked. More details can be found here:
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/.
name: Build dev-app for deployment
on:
pull_request:
types: [synchronize, labeled]
permissions: read-all
jobs:
dev-app-build:
runs-on: ubuntu-latest
# We only want to build and deploy the dev-app if the `dev-app preview` label has been
# added, or if the label is already applied and new changes have been made in the PR.
if: |
(github.event.action == 'labeled' && github.event.label.name == 'dev-app preview') ||
(github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'dev-app preview'))
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@b885546e4641e923c7888e2b5d5c2b3e7af46b2d
with:
cache-node-modules: true
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@b885546e4641e923c7888e2b5d5c2b3e7af46b2d
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@b885546e4641e923c7888e2b5d5c2b3e7af46b2d
# Build the web package
- run: bazel build //src/dev-app:web_package --symlink_prefix=dist/
- uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@b885546e4641e923c7888e2b5d5c2b3e7af46b2d
with:
workflow-artifact-name: 'dev-app'
pull-number: '${{github.event.pull_request.number}}'
artifact-build-revision: '${{github.event.pull_request.head.sha}}'
deploy-directory: './dist/bin/src/dev-app/web_package/'