Merge branch 'main' into workflow-changes #27
This file contains 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: address-service build | |
on: | |
push: | |
paths: | |
- "address-service/src/**/*.js" | |
- "address-service/package*.json" | |
workflow_dispatch: | |
env: | |
NAMESPACE: f0463d-tools | |
BUILD_NAME: address-service-main-build | |
IMAGE_NAME: address-service | |
SOURCE_IMAGE_TAG: latest | |
TARGET_IMAGE_TAG: dev | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./address-service | |
steps: | |
- uses: actions/checkout@main | |
- uses: actions/setup-node@main | |
with: | |
node-version: "12" | |
- name: Install dependencies | |
run: npm ci | |
# - name: Unit tests w/ coverage | |
# run: npm run test:coverage | |
- name: LINTing | |
run: npm run test:lint | |
# - name: OpenAPI Schema | |
# run: npm run test:schema | |
build: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./address-service | |
needs: [test] | |
strategy: | |
matrix: | |
node-version: [12.x] | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Cache node modules | |
uses: actions/cache@v1 | |
with: | |
path: node_modules | |
key: ${{ runner.OS }}-build-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.OS }}-build-${{ env.cache-name }}- | |
${{ runner.OS }}-build- | |
${{ runner.OS }}- | |
- name: npm install and build | |
run: | | |
npm ci | |
npm run build --if-present | |
env: | |
CI: "true" | |
s2i-build: | |
# if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
needs: [test, build] | |
steps: | |
- uses: redhat-actions/openshift-tools-installer@v1 | |
with: | |
source: "mirror" | |
oc: "latest" | |
- name: Log in to Openshift | |
run: oc login --token=${{ secrets.OpenShiftToken }} --server=${{ secrets.OpenShiftServerURL}} | |
- name: Generate Image Build | |
run: oc start-build ${BUILD_NAME} -n ${NAMESPACE} --follow | |
- name: Time delay | |
# to give time for Openshift to process the build so it doesn't tag the wrong image | |
run: sleep 20s | |
- name: Tag Image Build | |
run: oc tag -n ${NAMESPACE} ${NAMESPACE}/${IMAGE_NAME}:${SOURCE_IMAGE_TAG} ${NAMESPACE}/${IMAGE_NAME}:${TARGET_IMAGE_TAG} |