Skip to content

Commit 06bfdd0

Browse files
author
fbrv
committed
github ci
1 parent dc2654c commit 06bfdd0

File tree

3 files changed

+124
-1
lines changed

3 files changed

+124
-1
lines changed

.github/workflows/ci.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ['**']
6+
pull_request:
7+
branches:
8+
- main
9+
- '**'
10+
11+
jobs:
12+
rustfmt:
13+
name: Format
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout sources
17+
uses: actions/checkout@v2
18+
19+
- name: Install nightly toolchain with rustfmt available
20+
uses: actions-rs/toolchain@v1
21+
with:
22+
profile: minimal
23+
toolchain: nightly
24+
override: true
25+
components: rustfmt
26+
27+
- name: Run cargo fmt
28+
uses: actions-rs/cargo@v1
29+
continue-on-error: true # WARNING: only for this example, remove it!
30+
with:
31+
command: fmt
32+
args: --all -- --check
33+
34+
clippy:
35+
name: Lint
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Checkout sources
39+
uses: actions/checkout@v2
40+
41+
- name: Install stable toolchain with clippy available
42+
uses: actions-rs/toolchain@v1
43+
with:
44+
profile: minimal
45+
toolchain: stable
46+
override: true
47+
components: clippy
48+
49+
- name: Run cargo clippy
50+
uses: actions-rs/cargo@v1
51+
with:
52+
command: clippy
53+
args: --all -- -D warnings
54+
tests:
55+
name: Test
56+
runs-on: ubuntu-latest
57+
steps:
58+
- name: Checkout sources
59+
uses: actions/checkout@v2
60+
- name: Install stable toolchain
61+
uses: actions-rs/toolchain@v1
62+
with:
63+
profile: minimal
64+
toolchain: stable
65+
override: true
66+
- name: Run tests
67+
uses: actions-rs/cargo@v1
68+
with:
69+
command: test
70+
args: --all --verbose
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Deploy Images to GHCR
2+
3+
on:
4+
push:
5+
branches:
6+
- main # Trigger only on push to main branch
7+
tags: # Trigger on new tags
8+
- 'v*' # You can adjust this pattern to match your tag naming convention
9+
10+
jobs:
11+
push-store-image:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
packages: write
16+
steps:
17+
- name: 'Checkout GitHub Action'
18+
uses: actions/checkout@main
19+
20+
- name: 'Set up Docker Buildx'
21+
uses: docker/setup-buildx-action@v1
22+
23+
- name: 'Login to GitHub Container Registry'
24+
uses: docker/login-action@v1
25+
with:
26+
registry: ghcr.io
27+
username: ${{ github.actor }}
28+
password: ${{ secrets.GITHUB_TOKEN }}
29+
30+
- name: 'Extract short hash'
31+
id: vars
32+
run: echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV # This sets the SHORT_SHA environment variable
33+
34+
- name: 'Set Docker tag'
35+
id: docker_tag
36+
run: |
37+
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
38+
TAG_NAME=${{ github.ref }}
39+
TAG_NAME=${TAG_NAME##*/}
40+
echo "DOCKER_TAG=${TAG_NAME}" >> $GITHUB_ENV
41+
else
42+
echo "DOCKER_TAG=${{ env.SHORT_SHA }}" >> $GITHUB_ENV
43+
fi
44+
45+
- name: 'Build pbs image'
46+
run: |
47+
docker build --tag ghcr.io/commit-boost/commit-boost-client/pbs:${{ env.DOCKER_TAG }} -f docker/pbs.Dockerfile .
48+
docker push ghcr.io/commit-boost/commit-boost-client/pbs:${{ env.DOCKER_TAG }}
49+
50+
- name: 'Build signer image'
51+
run: |
52+
docker build --tag ghcr.io/commit-boost/commit-boost-client/signer:${{ env.DOCKER_TAG }} -f docker/signer.Dockerfile .
53+
docker push ghcr.io/commit-boost/commit-boost-client/signer:${{ env.DOCKER_TAG }}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ Cargo.lock
1616
*.env
1717
*.docker-compose.yml
1818
targets.json
19-
19+
.idea/

0 commit comments

Comments
 (0)