-
Notifications
You must be signed in to change notification settings - Fork 115
124 lines (110 loc) · 4.53 KB
/
Copy pathartifacts.yml
File metadata and controls
124 lines (110 loc) · 4.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name: Artifacts
on:
workflow_dispatch:
inputs:
core:
description: "Version of the core. Must go with v (e.g v0.2.47)"
required: true
dappmanager:
description: "Version of the dappmanager. Only numbers"
required: true
wifi:
description: "Version of the wifi. Only numbers"
required: true
bind:
description: "Version of the bind. Only numbers"
required: true
ipfs:
description: "Version of the ipfs. Only numbers"
required: true
https:
description: "Version of the https. Only numbers"
required: true
wireguard:
description: "Version of the wireguard. Only numbers"
required: true
vpn:
description: "Version of the vpn. Only numbers"
required: true
env:
BIND_VERSION: ${{ github.event.inputs.bind }}
IPFS_VERSION: ${{ github.event.inputs.ipfs }}
DAPPMANAGER_VERSION: ${{ github.event.inputs.dappmanager }}
WIFI_VERSION: ${{ github.event.inputs.wifi }}
WIREGUARD_VERSION: ${{ github.event.inputs.wireguard }}
HTTPS_VERSION: ${{ github.event.inputs.https }}
VPN_VERSION: ${{ github.event.inputs.vpn }}
CORE_VERSION: ${{ github.event.inputs.core }}
jobs:
pre-release:
name: create artifacts
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
# Regex for versions introduced
- name: Check versions regex
run: |
[[ $BIND_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && [[ $IPFS_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && [[ $DAPPMANAGER_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && \
[[ $WIFI_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && [[ $WIREGUARD_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && [[ $HTTPS_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && \
[[ $VPN_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] && [[ $CORE_VERSION =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] || { echo "versions introduced in wrong format"; exit 1; }
- name: Checkout
uses: actions/checkout@v2.3.1
# Edit the profile with the new versions introduced
- name: Set new versions
run: |
sed -i -e "/BIND_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${BIND_VERSION}"/" .dappnode_profile
sed -i -e "/IPFS_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${IPFS_VERSION}"/" .dappnode_profile
sed -i -e "/VPN_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${VPN_VERSION}"/" .dappnode_profile
sed -i -e "/DAPPMANAGER_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${DAPPMANAGER_VERSION}"/" .dappnode_profile
sed -i -e "/WIFI_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${WIFI_VERSION}"/" .dappnode_profile
sed -i -e "/WIREGUARD_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${WIREGUARD_VERSION}"/" .dappnode_profile
sed -i -e "/HTTPS_VERSION/s/[0-9]*\.[0-9]*\.[0-9]*/"${HTTPS_VERSION}"/" .dappnode_profile
cat .dappnode_profile
# ISO ATTENDED
- name: Build attended
run: |
sed -i -e "/UNATTENDED/s/true/false/" docker-compose.yml
docker-compose build
docker-compose up
# Verify ISO attended created
- name: Check iso attended
run: |
ls -lrt images/DAppNode-debian-bullseye-amd64.iso
# Set new name for the release asset
- name: Set DAppNode attended ISO name
run: |
cp ./images/DAppNode-debian-bullseye-amd64.iso DAppNode-${CORE_VERSION}-debian-bullseye-amd64.iso
# ISO UNATTENDED
- name: Build unattended
run: |
sed -i -e "/UNATTENDED/s/false/true/" docker-compose.yml
docker-compose build
docker-compose up
# Verify ISO unattended was created
- name: Check iso unattended
run: |
ls -lrt images/DAppNode-debian-bullseye-amd64.iso
# Set new name for the release asset
- name: Set DAppNode unttended ISO name
run: |
cp ./images/DAppNode-debian-bullseye-amd64.iso DAppNode-${CORE_VERSION}-debian-bullseye-amd64-unattended.iso
- name: Create dappnode_profile.sh
run: |
cp .dappnode_profile dappnode_profile.sh
# ARTIFACTS ASSETS
- name: Artifact
uses: actions/upload-artifact@v2
with:
name: test-artifact
path: |
./DAppNode-*-amd64.iso
./DAppNode-*-amd64-unattended.iso
./scripts/dappnode_install.sh
./scripts/dappnode_install_pre.sh
./scripts/dappnode_uninstall.sh
./scripts/dappnode_access_credentials.sh
dappnode_profile.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}