Skip to content

Commit

Permalink
Add CI actions
Browse files Browse the repository at this point in the history
  • Loading branch information
cmorabito-woolpert authored Sep 1, 2022
1 parent 841009c commit 52a9e6e
Show file tree
Hide file tree
Showing 6 changed files with 134 additions and 54 deletions.
124 changes: 124 additions & 0 deletions .github/workflows/actions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: Fleet Routing App CI
on:
push:
jobs:
# detect changes
changes:
runs-on: ubuntu-latest
outputs:
backend: ${{ steps.filter.outputs.backend }}
frontend: ${{ steps.filter.outputs.frontend }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
backend:
- 'application/backend/**'
frontend:
- 'application/frontend/**'
# backend checks
check-backend:
needs: changes
if: ${{ needs.changes.outputs.backend == 'true' }}

runs-on: ubuntu-latest
defaults:
run:
working-directory: application/backend

steps:
- uses: actions/checkout@v3

- name: Use Node.js v16 LTS
uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: application/backend/package-lock.json

- run: npm ci
- run: npm run lint
- run: npm test

# frontend checks
check-frontend:
needs: changes
if: ${{ needs.changes.outputs.frontend == 'true' }}

runs-on: ubuntu-latest
defaults:
run:
working-directory: application/frontend

steps:
- uses: actions/checkout@v3

- name: Use Node.js v16 LTS
uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: application/frontend/package-lock.json

- run: npm ci
- run: npm run lint
- run: npm run style-check
- run: Xvfb :99 &
- run: npm run test -- --watch=false --progress=false --browsers=ChromeHeadlessCI --code-coverage
env:
DISPLAY: ':99'

# build container image
build-container:
needs:
- check-backend
- check-frontend

runs-on: ubuntu-latest
container: google/cloud-sdk
env:
GCLOUD_SERVICE_ACCOUNT_JSON: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_JSON }}
SNAPSHOT_REGISTRY: ${{ secrets.SNAPSHOT_REGISTRY }}
COMMIT_TAG: ${{ github.sha }}

steps:
- run: echo "COMMIT_TAG=$(echo $COMMIT_TAG | cut -c 1-7)" >> $GITHUB_ENV

- run: echo $GCLOUD_SERVICE_ACCOUNT_JSON | base64 -d | docker login -u _json_key --password-stdin https://us-docker.pkg.dev

- uses: actions/checkout@v3

- run: make build
- run: make push


# push container image
tag-release:
if: ${{ github.ref_type == 'tag' }}

needs:
- build-container

runs-on: ubuntu-latest
container: google/cloud-sdk
env:
GCLOUD_SERVICE_ACCOUNT_JSON: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_JSON }}
SNAPSHOT_REGISTRY: ${{ secrets.SNAPSHOT_REGISTRY }}
RELEASE_REGISTRY: ${{ secrets.RELEASE_REGISTRY }}
COMMIT_TAG: ${{ github.sha }}
RELEASE_TAG: ${{ github.ref_name }}

steps:
- run: echo "COMMIT_TAG=$(echo $COMMIT_TAG | cut -c 1-7)" >> $GITHUB_ENV

- run: echo $GCLOUD_SERVICE_ACCOUNT_JSON | base64 -d > /tmp/service-account.json
- run: gcloud auth activate-service-account --key-file=/tmp/service-account.json

- uses: actions/checkout@v3

- run: make release

# terraform checks
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export class BaseDocumentationDialogComponent implements AfterViewInit, OnDestro
this.http.get('assets/docs/documentation.md', { responseType: 'text' }).subscribe((data) => {
marked.use({
baseUrl: 'assets/docs/',
renderer: this.buildRenderer()
renderer: this.buildRenderer(),
});
this.dialogContent.nativeElement.innerHTML = marked(data);
this.addListeners();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ <h1 mat-dialog-title>Upload an existing scenario or solution</h1>
<div mat-dialog-content>
<p>
Have an existing vehicle routing problem you want to solve? You can upload a JSON description
of the problem to see the routes that Cloud Fleet Routing recommends, and then download the generated
routes if you wish.
of the problem to see the routes that Cloud Fleet Routing recommends, and then download the
generated routes if you wish.
</p>
<p>
You may also upload a zip file containing a scenario and its matching solution. In order to do
Expand Down
14 changes: 7 additions & 7 deletions application/makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
.PHONY: build push release

build:
docker build -t $(REGISTRY)/app:$(COMMIT_TAG) -f Dockerfile .
docker build -t $(REGISTRY):$(COMMIT_TAG) -f Dockerfile .

push:
docker push $(REGISTRY)/app:$(COMMIT_TAG);
docker push $(REGISTRY):$(COMMIT_TAG);

release:
$(eval DIGEST = $(shell gcloud container images list-tags $(SNAPSHOT_REGISTRY)/app --filter=$(COMMIT_TAG) --format='get(digest)'))
$(eval DIGEST = $(shell gcloud container images list-tags $(SNAPSHOT_REGISTRY) --filter=$(COMMIT_TAG) --format='get(digest)'))
gcloud container images add-tag --quiet \
$(SNAPSHOT_REGISTRY)/app@$(DIGEST) \
$(RELEASE_REGISTRY)/app:$(COMMIT_TAG) \
$(RELEASE_REGISTRY)/app:$(RELEASE_TAG)
$(SNAPSHOT_REGISTRY)@$(DIGEST) \
$(RELEASE_REGISTRY):$(COMMIT_TAG) \
$(RELEASE_REGISTRY):$(RELEASE_TAG)

default: build
default: build
11 changes: 0 additions & 11 deletions cloudbuild-release.yaml

This file was deleted.

33 changes: 0 additions & 33 deletions cloudbuild.yaml

This file was deleted.

0 comments on commit 52a9e6e

Please sign in to comment.