Populate CODEOWENRS, baseline package.json and baseline cortex.yaml #144
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: Build | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [12.x] | |
os: [ubuntu-latest] | |
steps: | |
- id: setup-node | |
name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Check out code repository source code | |
uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: yarn | |
- name: Verify that Docker image builds | |
run: docker build . | |
npm: | |
if: github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
needs: test | |
outputs: | |
didpublishnpm: ${{ steps.build-and-publish.outputs.didpublishnpm }} | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [12] | |
steps: | |
- name: Initialize Output | |
run: echo "::set-output name=didpublishnpm::false" | |
- name: Check out repo | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 2 | |
- name: Check if publish needed | |
run: | | |
name="$(jq -r .name package.json)" | |
npmver="$(npm show $name version || echo v0.0.0)" | |
pkgver="$(jq -r .version package.json)" | |
echo "pkgver=$pkgver" >> $GITHUB_ENV | |
if [ "$npmver" = "$pkgver" ] | |
then | |
echo "Package version ($pkgver) is the same as last published NPM version ($npmver), skipping publish." | |
else | |
echo "Package version ($pkgver) is different from latest NPM version ($npmver), publishing!" | |
echo "shouldpublishnpm=true" >> $GITHUB_ENV | |
fi | |
- name: Setup Node | |
if: env.shouldpublishnpm | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 12.x | |
- name: Build and Publish | |
id: build-and-publish | |
if: env.shouldpublishnpm | |
env: | |
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} | |
run: | | |
echo "//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}" > .npmrc | |
yarn install | |
npm publish --access public | |
echo "::set-output name=didpublishnpm::true" | |
docker: | |
runs-on: ubuntu-latest | |
needs: [test] | |
steps: | |
- name: Check out source code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Login to GitHub Container Registry | |
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: '6.0.x' | |
# Generate tag for chart without "v" prefix | |
- name: Install GitVersion | |
uses: gittools/actions/gitversion/[email protected] | |
with: | |
versionSpec: '5.x' | |
- name: Determine Version | |
id: gitversion | |
uses: gittools/actions/gitversion/[email protected] | |
with: | |
useConfigFile: true | |
configFilePath: GitVersion.yml | |
- name: Display GitVersion outputs | |
run: | | |
echo "ShortSha: ${{ steps.gitversion.outputs.ShortSha }}" | |
- name: Build and Tag the Docker image (This commit - ShortSHA) | |
run: | | |
docker build . --file Dockerfile --tag ghcr.io/jupiterone/node-cdx-bom:${{ steps.gitversion.outputs.ShortSha }} | |
- name: Push the current Docker image tag | |
run: | | |
docker push ghcr.io/jupiterone/node-cdx-bom:${{ steps.gitversion.outputs.ShortSha }} | |
- name: Build and Tag the Docker image - Only main branch (Respect version from package.json) | |
if: github.ref == 'refs/heads/main' | |
run: | | |
pkgver="$(jq -r .version package.json)" | |
echo "pkgver=$pkgver" >> $GITHUB_ENV | |
docker build . --file Dockerfile --tag ghcr.io/jupiterone/node-cdx-bom:latest --tag ghcr.io/jupiterone/node-cdx-bom:$pkgver | |
- name: Push the latest and stable Docker image tags | |
if: github.ref == 'refs/heads/main' | |
run: | | |
docker push ghcr.io/jupiterone/node-cdx-bom:latest | |
docker push ghcr.io/jupiterone/node-cdx-bom:${{ env.pkgver }} |