Skip to content

Commit

Permalink
Create a Tornjak image v1.4.0 (#286)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrsabath authored Aug 7, 2023
2 parents 066b8f8 + 327cb0b commit 092c99c
Show file tree
Hide file tree
Showing 40 changed files with 2,280 additions and 1,316 deletions.
14 changes: 14 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "github-actions"
# Workflow files stored in the
# default location of `.github/workflows`
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 5
52 changes: 38 additions & 14 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,47 @@ jobs:
tornjak-build:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Show trigger info
run: |
cat <<EOF >>"${GITHUB_STEP_SUMMARY}"
# Workflow job info
- 🎉 The job was automatically triggered by a ${{ github.event_name }} event.
- 🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!
- 🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}.
EOF
- name: Check out repository code
uses: actions/checkout@v2
uses: actions/checkout@v3.5.3

- name: Install Golang
uses: actions/setup-go@v3
uses: actions/setup-go@v4.0.1
with:
go-version: '1.17'
- uses: actions/setup-node@v2
go-version-file: go.mod
check-latest: true
cache: true

- uses: actions/setup-node@v3.7.0
with:
node-version: '15'
node-version: '18'

- name: Download modules
run: go mod download

- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v3.6.0
with:
version: v1.29
args: --timeout 5m
- name: Run make all
run: make all
- run: echo "🍏 This job's status is ${{ job.status }}."
version: v1.53
args: --timeout 7m

- name: Build binaries
run: make binaries

- name: Build images
run: make images

- name: Print job result
run: |
cat <<EOF >>"${GITHUB_STEP_SUMMARY}"
- 🍏 This job's status is ${{ job.status }}.
EOF
63 changes: 45 additions & 18 deletions .github/workflows/master-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,49 @@ on:
push:
branches:
- main
- v1.2
- v1.3
- v1.4
jobs:
tornjak-build:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Show trigger info
run: |
cat <<EOF >>"${GITHUB_STEP_SUMMARY}"
# Workflow job info
- 🎉 The job was automatically triggered by a ${{ github.event_name }} event.
- 🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!
- 🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}.
EOF
- name: Check out repository code
uses: actions/checkout@v2
uses: actions/checkout@v3.5.3

- name: Install Golang
uses: actions/setup-go@v3
uses: actions/setup-go@v4.0.1
with:
go-version: '1.17'
- uses: actions/setup-node@v3
go-version-file: go.mod
check-latest: true
cache: true

- name: Download modules
run: go mod download

- uses: actions/setup-node@v3.7.0
with:
node-version: '18'

- name: Download modules
run: go mod download

- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v3.6.0
with:
version: v1.29
args: --timeout 5m
version: v1.53
args: --timeout 7m

- name: Log in to GHCR.io
uses: docker/login-action@v1
uses: docker/login-action@v2.2.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
Expand All @@ -36,16 +54,25 @@ jobs:
# set repo and GITHUB SHA
- name: Set github commit id
run: echo "GITHUB_SHA=$GITHUB_SHA" >> $GITHUB_ENV

- name: Set release repo
run: echo "REPO=ghcr.io/${{ github.repository_owner }}" >> $GITHUB_ENV

# build and push images tagged with GITHUB_SHA, version, and latest
- name: Build and push tornjak backend image
run: make container-backend-push
run: make release-tornjak-backend

- name: Build and push tornjak frontend image
run: make container-frontend-push
run: make release-tornjak-frontend

- name: Build and push tornjak image (frontend+backend)
run: make container-tornjak-push
run: make release-tornjak

- name: Build and push tornjak manager image
run: make container-manager-push
- run: echo "🍏 This job's status is ${{ job.status }}."
run: make release-tornjak-manager

- name: Print job result
run: |
cat <<EOF >>"${GITHUB_STEP_SUMMARY}"
- 🍏 This job's status is ${{ job.status }}.
EOF
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ Building Tornjak manually can be done with the Makefile. Notable make targets fo
- `make bin/tornjak-backend`: makes the Go executable of the Tornjak backend
- `make bin/tornjak-manager`: makes the Go executable of the Tornjak manager
- `make frontend-local-build`: makes the optimized ReactJS app locally for the Tornjak frontend. Uses environment variable configuration as in tornjak-frontend/.env
- `make container-backend`: containerizes Go executable of the Tornjak backend
- `make container-manager`:containerizes Go executable of the Tornjak manager
- `make container-frontend`: containerizes React JS app for the Tornjak frontend
- `make container-tornjak`: containerizes Tornjak backend with Tornjak frontend
- `make image-tornjak-backend`: containerizes Go executable of the Tornjak backend
- `make image-tornjak-manager`:containerizes Go executable of the Tornjak manager
- `make image-tornjak-frontend`: containerizes React JS app for the Tornjak frontend
- `make image-tornjak`: containerizes Tornjak backend with Tornjak frontend

For usage instructions of the containers, please see our [USAGE document](./USAGE.md) to get started.

Expand Down
17 changes: 0 additions & 17 deletions Dockerfile.add-backend

This file was deleted.

4 changes: 2 additions & 2 deletions Dockerfile.frontend-container
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
## Build stage
FROM node:16-alpine3.14 AS build
FROM node:18-alpine3.14 AS build
WORKDIR /usr/src/app
COPY tornjak-frontend .
RUN npm install && \
npm run build

## Runtime stage
FROM node:16-alpine3.14 AS runtime
FROM node:18-alpine3.14 AS runtime
WORKDIR /usr/src/app
COPY --from=build /usr/src/app/build ./build
COPY --from=build /usr/src/app/.env.prod .
Expand Down
Loading

0 comments on commit 092c99c

Please sign in to comment.