[WIP] workflow editor #15
Workflow file for this run
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
# This workflow performs continuous integration (CI). | |
# This workflow will build the container image for amd64 arch. (as a basic build test) | |
name: Continuous Integration (CI) | |
on: | |
# On pull-request event with detailed condition below. | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- "**.md" | |
- ".gitignore" | |
- "LICENSE" | |
- "CODEOWNERS" | |
- "assets/**" | |
- "docs/**" | |
# - "scripts/**" | |
# - "src/testclient/scripts/**" | |
# - ".all-contributorsrc" | |
jobs: | |
# The job key (i.e., ID) is "build-source-code" | |
build-source-code-api-server: | |
# Job name is "Building source code" | |
# This job runs on Ubuntu-latest (Ubuntu 22.04 LTS checked on 2023-12-13) | |
# See https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners | |
name: Build source code for butterfly api | |
strategy: | |
matrix: | |
go-version: ["1.23"] | |
os: [ubuntu-22.04] | |
#os: [ubuntu-22.04, ubuntu-20.04, windows-2022, windows-2019] | |
runs-on: ${{matrix.os}} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{matrix.go-version}} | |
- name: Install Buffalo CLI | |
run: go install github.com/gobuffalo/cli/cmd/buffalo@v0.18.14 | |
- name: Install Go dependencies | |
run: go mod download | |
working-directory: ./api | |
- name: Build Buffalo application | |
run: buffalo build --static | |
working-directory: ./api | |
# The job key is "build-container-image" | |
build-container-image-api-server: | |
# Job name is "Build a container image" | |
name: Build a container image for butterfly api | |
# This job runs on Ubuntu-latest (Ubuntu 22.04 LTS checked on 2023-12-13) | |
# See https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners | |
runs-on: ubuntu-22.04 | |
if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} | |
steps: | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Build image | |
env: | |
IMAGE_NAME: ${{ github.event.repository.name }}-api | |
run: docker image build --file ./api/Dockerfile --tag $IMAGE_NAME ./api | |
build-source-code-front: | |
name: Build source code for butterfly front | |
strategy: | |
matrix: | |
os: [ubuntu-22.04] | |
runs-on: ${{matrix.os}} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install dependencies | |
run: npm install --legacy-peer-deps --save-prod | |
working-directory: ./front | |
- name: Build application | |
run: npm run build | |
working-directory: ./front | |
build-container-image-front: | |
name: Build a container image for butterfly front | |
runs-on: ubuntu-22.04 | |
if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} | |
steps: | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Build image | |
env: | |
IMAGE_NAME: ${{ github.event.repository.name }}-front | |
run: docker image build --file ./front/Dockerfile --tag $IMAGE_NAME ./front |