Skip to content

Commit cc7d900

Browse files
authored
Feature/use go GitHub (#46)
1 parent 452b853 commit cc7d900

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1927
-1485
lines changed

.env-template

Lines changed: 0 additions & 1 deletion
This file was deleted.

.gitattributes

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/Release.yaml

Lines changed: 83 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,110 @@ on:
1010
- '.github/ISSUE_TEMPLATE/**'
1111
- '.github/PULL_REQUEST_TEMPLATE.md'
1212

13+
1314
jobs:
15+
generate_infos:
16+
runs-on: ubuntu-latest
17+
outputs:
18+
tag: ${{ steps.tag.outputs.version }}
19+
pr: ${{ steps.tag.outputs.pr }}
20+
steps:
21+
- name: Check out the repo
22+
uses: actions/checkout@v2
23+
with:
24+
ref: main
25+
fetch-depth: 0
26+
- name: Set up awesome-ci
27+
run: |
28+
wget https://github.com/eksrvb/awesome-ci/releases/latest/download/awesome-ci
29+
chmod +x awesome-ci
30+
- id: tag
31+
shell: bash
32+
run: |
33+
echo "Building version: 0.8.0"
34+
echo "::set-output name=version::\"0.8.0\""
35+
1436
build:
1537
runs-on: ubuntu-latest
38+
needs: generate_infos
39+
strategy:
40+
matrix:
41+
arch: ["amd64", "arm64"]
1642
steps:
1743
- name: Checkout code
1844
uses: actions/checkout@v2
1945
- name: Set up Go
2046
uses: actions/setup-go@v2
2147
with:
22-
go-version: 1.16
48+
go-version: 1.17
2349
- name: Set up awesome-ci
2450
run: |
2551
wget https://github.com/eksrvb/awesome-ci/releases/latest/download/awesome-ci
2652
chmod +x awesome-ci
53+
54+
- name: debugging git
55+
run: |
56+
echo "git name-rev HEAD: $(git name-rev HEAD)"
57+
echo "git log -1 --pretty=format:"%s": $(git log -1 --pretty=format:"%s")"
58+
echo "git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@': $(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')"
2759
- name: set build Infos
2860
run: ./awesome-ci getBuildInfos
2961
env:
3062
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31-
- name: Build amd64
32-
run: go build -v -ldflags "-X main.version=$ACI_NEXT_VERSION" -o out/awesome-ci
63+
64+
- name: Build "${{ matrix.arch }}"
65+
run: go build -v -ldflags "-X main.version=$ACI_NEXT_VERSION" -o out/
3366
env:
3467
GOOS: linux
35-
GOARCH: amd64
36-
- name: Build arm64
37-
run: go build -v -ldflags "-X main.version=$ACI_NEXT_VERSION" -o out/awesome-ci-arm64
68+
GOARCH: "${{ matrix.arch }}"
69+
70+
- name: rename buildable
71+
working-directory: out
72+
run: mv awesome-ci awesome-ci_${{ needs.generate_tag.outputs.version }}_${{ matrix.arch }}
73+
74+
- name: Cache build outputs
75+
uses: actions/cache@v2
3876
env:
39-
GOOS: linux
40-
GOARCH: arm64
41-
- name: Print version of awesome-ci
42-
run: ./out/awesome-ci -version
43-
- name: Integration testing
44-
run: ./tools/test.sh ./out/awesome-ci
77+
cache-name: cache-outputs-modules
78+
with:
79+
path: out/
80+
key: awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}-${{ hashFiles('out/awesome-ci*') }}
81+
restore-keys: |
82+
awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}
83+
84+
#- name: Integration testing
85+
# run: ./tools/test.sh ./out/awesome-ci_${ACI_NEXT_VERSION}_${{ matrix.arch }}
86+
# env:
87+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
88+
89+
create_release_test:
90+
runs-on: ubuntu-latest
91+
needs: build
92+
steps:
93+
- name: Checkout code
94+
uses: actions/checkout@v2
95+
- name: Set up awesome-ci
96+
run: |
97+
wget https://github.com/eksrvb/awesome-ci/releases/latest/download/awesome-ci
98+
chmod +x awesome-ci
99+
100+
- name: get cache build outputs
101+
uses: actions/cache@v2
45102
env:
46-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103+
cache-name: cache-outputs-modules
104+
with:
105+
path: out/
106+
key: awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}
107+
restore-keys: |
108+
awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}
109+
110+
- name: get generated artifacts
111+
working-directory: out
112+
run: ls -la
113+
47114
- name: Create Release
48-
run: ./out/awesome-ci createRelease -uploadArtifacts "file=out/awesome-ci,file=out/awesome-ci-arm64"
115+
run: awesome-ci createRelease -uploadArtifacts "file=out/$ARTIFACT1,file=out/$ARTIFACT2"
49116
env:
50117
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
118+
ARTIFACT1: awesome-ci_${{ needs.generate_tag.outputs.version }}_amd64
119+
ARTIFACT2: awesome-ci_${{ needs.generate_tag.outputs.version }}_arm64

.github/workflows/branchPR.yaml

Lines changed: 74 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,46 @@ on:
1111
- ".github/PULL_REQUEST_TEMPLATE.md"
1212

1313
jobs:
14+
generate_infos:
15+
runs-on: ubuntu-latest
16+
outputs:
17+
tag: ${{ steps.tag.outputs.version }}
18+
pr: ${{ steps.tag.outputs.pr }}
19+
steps:
20+
- name: Check out the repo
21+
uses: actions/checkout@v2
22+
with:
23+
ref: main
24+
fetch-depth: 0
25+
- name: Set up awesome-ci
26+
run: |
27+
wget https://github.com/eksrvb/awesome-ci/releases/latest/download/awesome-ci
28+
chmod +x awesome-ci
29+
- id: tag
30+
shell: bash
31+
run: |
32+
echo "Building version: $(awesome-ci getBuildInfos -format 'version')"
33+
echo "::set-output name=version::$(awesome-ci getBuildInfos -format 'version')"
34+
echo "::set-output name=pr::$(awesome-ci getBuildInfos -format 'pr')"
35+
1436
build:
1537
runs-on: ubuntu-latest
38+
needs: generate_infos
39+
strategy:
40+
matrix:
41+
arch: ["amd64", "arm64"]
1642
steps:
1743
- name: Checkout code
1844
uses: actions/checkout@v2
1945
- name: Set up Go
2046
uses: actions/setup-go@v2
2147
with:
22-
go-version: 1.16
48+
go-version: 1.17
2349
- name: Set up awesome-ci
2450
run: |
2551
wget https://github.com/eksrvb/awesome-ci/releases/latest/download/awesome-ci
2652
chmod +x awesome-ci
53+
2754
- name: debugging git
2855
run: |
2956
echo "git name-rev HEAD: $(git name-rev HEAD)"
@@ -33,23 +60,53 @@ jobs:
3360
run: ./awesome-ci getBuildInfos
3461
env:
3562
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36-
- name: Build amd64
37-
run: go build -v -ldflags "-X main.version=$ACI_NEXT_VERSION" -o out/awesome-ci
38-
env:
39-
GOOS: linux
40-
GOARCH: amd64
41-
- name: Build arm64
42-
run: go build -v -ldflags "-X main.version=$ACI_NEXT_VERSION" -o out/awesome-ci-arm64
63+
64+
- name: Build "${{ matrix.arch }}"
65+
run: go build -v -ldflags "-X main.version=$ACI_NEXT_VERSION" -o out/
4366
env:
4467
GOOS: linux
45-
GOARCH: arm64
46-
- name: Print version of awesome-ci
47-
run: ./out/awesome-ci -version
48-
- name: Integration testing
49-
run: ./tools/test.sh ./out/awesome-ci
68+
GOARCH: "${{ matrix.arch }}"
69+
70+
- name: rename buildable
71+
working-directory: out
72+
run: mv awesome-ci awesome-ci_${{ needs.generate_tag.outputs.version }}_${{ matrix.arch }}
73+
74+
- name: Cache build outputs
75+
uses: actions/cache@v2
5076
env:
51-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52-
- name: Test writing dummy Release
53-
run: ./out/awesome-ci createRelease -patchLevel bugfix -dry-run
77+
cache-name: cache-outputs-modules
78+
with:
79+
path: out/
80+
key: awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}-${{ hashFiles('out/awesome-ci*') }}
81+
restore-keys: |
82+
awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}
83+
84+
#- name: Integration testing
85+
# run: ./tools/test.sh ./out/awesome-ci_${ACI_NEXT_VERSION}_${{ matrix.arch }}
86+
# env:
87+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
88+
89+
create_release_test:
90+
runs-on: ubuntu-latest
91+
needs: build
92+
steps:
93+
- name: Checkout code
94+
uses: actions/checkout@v2
95+
- name: Set up awesome-ci
96+
run: |
97+
wget https://github.com/eksrvb/awesome-ci/releases/latest/download/awesome-ci
98+
chmod +x awesome-ci
99+
100+
- name: Cache build outputs
101+
uses: actions/cache@v2
54102
env:
55-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103+
cache-name: cache-outputs-modules
104+
with:
105+
path: out/
106+
key: awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}
107+
restore-keys: |
108+
awesome-ci-${{ needs.generate_tag.outputs.version }}-pr-${{ needs.generate_tag.outputs.pr }}
109+
110+
- name: get generated artifacts
111+
working-directory: out
112+
run: ls -la

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
# Dependency directories (remove the comment below to include it)
1515
# vendor/
1616
out
17-
*.env
17+
*.env
18+
awesome-ci

0 commit comments

Comments
 (0)