Skip to content

Commit 6445b33

Browse files
authored
Merge pull request #149 from kudaliar032/master
Update GitHub Actions
2 parents dcd6034 + 97e1028 commit 6445b33

File tree

3 files changed

+149
-100
lines changed

3 files changed

+149
-100
lines changed

.github/workflows/generic.yml

Lines changed: 56 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,78 @@
1-
name: generic
1+
name: Generic github actions
22

33
on:
44
push:
5-
branches:
6-
- '!master'
7-
pull_request:
8-
branches:
9-
- '*'
5+
branches-ignore:
6+
- 'master'
7+
8+
permissions:
9+
contents: write
1010

1111
jobs:
1212
build-devel:
1313
runs-on: ubuntu-latest
14-
1514
steps:
1615
- name: Get current date
17-
id: date
18-
run: echo "::set-output name=date::$(TZ='Asia/Jakarta' date +'%Y%m%d%H%M')"
19-
- uses: actions/checkout@v1
20-
- name: Build Development release
16+
run: echo "irgsh_build_date=$(TZ='Asia/Jakarta' date +'%Y%m%d%H%M')" >> $GITHUB_ENV
17+
- uses: actions/checkout@v3
18+
- name: Install needed apt packages
19+
uses: awalsh128/cache-apt-pkgs-action@v1.2.3
20+
with:
21+
packages: gpg pbuilder debootstrap devscripts python3-apt reprepro make
22+
version: 1.0
23+
- uses: actions/setup-go@v3
24+
with:
25+
go-version: '1.13.14'
26+
- uses: actions/cache@v3
27+
with:
28+
path: |
29+
~/.cache/go-build
30+
~/go/pkg/mod
31+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
32+
restore-keys: |
33+
${{ runner.os }}-go-
34+
- name: Build development release
2135
run: |
22-
sudo apt update && sudo apt install -y gpg pbuilder debootstrap devscripts python-apt reprepro make
23-
curl -O https://storage.googleapis.com/golang/go1.13.14.linux-amd64.tar.gz
24-
tar -xf go1.13.14.linux-amd64.tar.gz
25-
sudo mv go /usr/local
26-
echo ${{ steps.date.outputs.date }}-development-build > VERSION
36+
echo ${{ env.irgsh_build_date }}-development-build > VERSION
2737
make release
2838
mv target/{release,pre-release}.tar.gz
29-
- uses: actions/upload-artifact@master
39+
- uses: actions/upload-artifact@v3
3040
with:
3141
name: pre-release.tar.gz
3242
path: target/
33-
- name: Create Release
34-
id: create_release
35-
uses: actions/create-release@v1
36-
env:
37-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
43+
outputs:
44+
irgsh_build_date: ${{ env.irgsh_build_date }}
45+
46+
release:
47+
runs-on: ubuntu-latest
48+
needs: [build-devel]
49+
steps:
50+
- uses: actions/download-artifact@v3
3851
with:
39-
tag_name: ${{ steps.date.outputs.date }}
40-
release_name: ${{ steps.date.outputs.date }} Development Release
41-
body: |
42-
Development release ${{ steps.date.outputs.date }}
52+
name: pre-release.tar.gz
53+
- name: Extract pre-release
54+
run: |
55+
tar xvzf pre-release.tar.gz
56+
cp $(find . -type f -name "irgsh-cli") .
57+
- name: Create github pre-release
58+
uses: softprops/action-gh-release@v0.1.15
59+
with:
60+
name: ${{ needs.build-devel.outputs.irgsh_build_date }} Development Release
61+
body: Development release ${{ needs.build-devel.outputs.irgsh_build_date }}
4362
draft: false
4463
prerelease: true
45-
- name: Upload Full Release Asset
46-
id: upload-full-release-asset
47-
uses: actions/upload-release-asset@v1
48-
env:
49-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50-
with:
51-
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
52-
asset_path: ./target/pre-release.tar.gz
53-
asset_name: pre-release.tar.gz
54-
asset_content_type: application/tar+gzip
55-
- name: Upload CLI Release
56-
id: upload-cli-release-asset
57-
uses: actions/upload-release-asset@v1
58-
env:
59-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60-
with:
61-
upload_url: ${{ steps.create_release.outputs.upload_url }}
62-
asset_path: ./irgsh-go/usr/bin/irgsh-cli
63-
asset_name: irgsh-cli
64-
asset_content_type: application/x-executable
64+
tag_name: ${{ needs.build-devel.outputs.irgsh_build_date }}-development-build
65+
files: |
66+
pre-release.tar.gz
67+
irgsh-cli
6568
6669
deploy:
6770
runs-on: ubuntu-latest
68-
needs: [build-devel]
71+
needs: [release]
6972
steps:
70-
- name: Deployment
71-
env:
72-
HOST: ${{secrets.RAFI_HOSTNAME}}
73-
KEY: ${{secrets.RAFI_DEPLOYMENT_KEY}}
74-
run: |
75-
curl --header "Content-Type: application/json" --request POST --data "{\"name\":\"irgsh-dev\",\"token\": \""$KEY"\"}" https://$HOST/tendang
73+
- name: Deploy to irgsh development server
74+
uses: kudaliar032/tendang-action@v1
75+
with:
76+
url: ${{ secrets.RAFI_TENDANG_URL }}
77+
token: ${{ secrets.RAFI_DEPLOYMENT_KEY }}
78+
name: ${{ secrets.RAFI_DEPLOYMENT_NAME }}

.github/workflows/master.yml

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,77 @@
1-
name: master
1+
name: Master github actions
22

33
on:
44
push:
55
branches:
6-
- master
6+
- 'master'
7+
8+
permissions:
9+
contents: write
710

811
jobs:
912
build-release:
1013
runs-on: ubuntu-latest
1114
steps:
1215
- name: Get current date
13-
id: date
14-
run: echo "::set-output name=date::$(TZ='Asia/Jakarta' date +'%Y%m%d%H%M')"
15-
- uses: actions/checkout@v1
16-
- name: Run a multi-line script
16+
run: echo "irgsh_build_date=$(TZ='Asia/Jakarta' date +'%Y%m%d%H%M')" >> $GITHUB_ENV
17+
- uses: actions/checkout@v3
18+
- name: Install needed apt packages
19+
uses: awalsh128/cache-apt-pkgs-action@v1.2.3
20+
with:
21+
packages: gpg pbuilder debootstrap devscripts python3-apt reprepro make
22+
version: 1.0
23+
- uses: actions/setup-go@v3
24+
with:
25+
go-version: '1.13.14'
26+
- uses: actions/cache@v3
27+
with:
28+
path: |
29+
~/.cache/go-build
30+
~/go/pkg/mod
31+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
32+
restore-keys: |
33+
${{ runner.os }}-go-
34+
- name: Build nightly release
1735
run: |
18-
sudo apt update && sudo apt install -y gpg pbuilder debootstrap devscripts python-apt reprepro make
19-
curl -O https://storage.googleapis.com/golang/go1.13.14.linux-amd64.tar.gz
20-
tar -xf go1.13.14.linux-amd64.tar.gz
21-
sudo mv go /usr/local
2236
echo ${{ steps.date.outputs.date }}-nightly-build > VERSION
2337
make release
24-
- uses: actions/upload-artifact@master
38+
- uses: actions/upload-artifact@v3
2539
with:
2640
name: release.tar.gz
2741
path: target/
28-
- name: Create Release
29-
id: create_release
30-
uses: actions/create-release@v1
31-
env:
32-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
42+
outputs:
43+
irgsh_build_date: ${{ env.irgsh_build_date }}
44+
45+
release:
46+
runs-on: ubuntu-latest
47+
needs: [build-release]
48+
steps:
49+
- uses: actions/download-artifact@v3
3350
with:
34-
tag_name: ${{ steps.date.outputs.date }}
35-
release_name: ${{ steps.date.outputs.date }} Nightly Release
36-
body: |
37-
Nightly release
51+
name: release.tar.gz
52+
- name: Extract release
53+
run: |
54+
tar xvzf release.tar.gz
55+
cp $(find . -type f -name "irgsh-cli") .
56+
- name: Create github release
57+
uses: softprops/action-gh-release@v0.1.15
58+
with:
59+
name: ${{ needs.build-release.outputs.irgsh_build_date }} Nightly Release
60+
body: Nightly release
3861
draft: false
3962
prerelease: false
40-
- name: Upload Full Release Asset
41-
id: upload-full-release-asset
42-
uses: actions/upload-release-asset@v1
43-
env:
44-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45-
with:
46-
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
47-
asset_path: ./target/release.tar.gz
48-
asset_name: release.tar.gz
49-
asset_content_type: application/tar+gzip
50-
- name: Upload CLI Release
51-
id: upload-cli-release-asset
52-
uses: actions/upload-release-asset@v1
53-
env:
54-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55-
with:
56-
upload_url: ${{ steps.create_release.outputs.upload_url }}
57-
asset_path: ./irgsh-go/usr/bin/irgsh-cli
58-
asset_name: irgsh-cli
59-
asset_content_type: application/x-executable
63+
tag_name: ${{ needs.build-release.outputs.irgsh_build_date }}-nightly-build
64+
files: |
65+
release.tar.gz
66+
irgsh-cli
6067
6168
deploy:
6269
runs-on: ubuntu-latest
63-
needs: [build-release]
70+
needs: [release]
6471
steps:
65-
- name: Deployment
66-
env:
67-
HOST: ${{secrets.RANI_HOSTNAME}}
68-
KEY: ${{secrets.RANI_DEPLOYMENT_KEY}}
69-
run: |
70-
curl --header "Content-Type: application/json" --request POST --data "{\"name\":\"irgsh\",\"token\": \""$KEY"\"}" https://$HOST
72+
- name: Deploy to irgsh server
73+
uses: kudaliar032/tendang-action@v1
74+
with:
75+
url: ${{ secrets.RANI_TENDANG_URL }}
76+
token: ${{ secrets.RANI_DEPLOYMENT_KEY }}
77+
name: ${{ secrets.RANI_DEPLOYMENT_NAME }}

.github/workflows/pull-request.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Pull request github actions
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '*'
7+
8+
jobs:
9+
build-devel:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Get current date
13+
run: echo "irgsh_build_date=$(TZ='Asia/Jakarta' date +'%Y%m%d%H%M')" >> $GITHUB_ENV
14+
- uses: actions/checkout@v3
15+
- name: Install needed apt packages
16+
uses: awalsh128/cache-apt-pkgs-action@v1.2.3
17+
with:
18+
packages: gpg pbuilder debootstrap devscripts python3-apt reprepro make
19+
version: 1.0
20+
- uses: actions/setup-go@v3
21+
with:
22+
go-version: '1.13.14'
23+
- uses: actions/cache@v3
24+
with:
25+
path: |
26+
~/.cache/go-build
27+
~/go/pkg/mod
28+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
29+
restore-keys: |
30+
${{ runner.os }}-go-
31+
- name: Build development release
32+
run: |
33+
echo ${{ env.irgsh_build_date }}-development-build > VERSION
34+
make release
35+
mv target/{release,pre-release}.tar.gz
36+
- uses: actions/upload-artifact@v3
37+
with:
38+
name: pre-release.tar.gz
39+
path: target/

0 commit comments

Comments
 (0)