-
Notifications
You must be signed in to change notification settings - Fork 6
121 lines (103 loc) · 3.64 KB
/
automaticBuildingLinux.yml
File metadata and controls
121 lines (103 loc) · 3.64 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
name: Full build and publish with versioning
on:
push:
tags:
- "u*" # Push events to matching v*, i.e. v1.0, v20.15.10
permissions:
contents: write
jobs:
build-linux-ubuntu:
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18.13
- name: Get tag name
run: |
VERSION=${GITHUB_REF/refs\/tags\//}
NEW_VERSION="${VERSION}"
node -p "let pkg=require('./package.json'); pkg.version='$NEW_VERSION'; require('fs').writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
- name: Print package.json
run: cat package.json
- name: Install dependencies
run: npm install
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.21
- name: Build go
run: |
cd go_server
go build main.go
cd ..
- name: Prebuild libmongocrypt
run: bash ./utilScripts/libmongocrypt_prebuild.sh
- name: Build for Linux
run: npm run build:linux
- name: Get tag name
id: get-tag
run: |
VERSION=${GITHUB_REF/refs\/tags\//}
echo "VERSION=${VERSION#v}" >> "$GITHUB_OUTPUT"
- name: Archive Linux
uses: actions/upload-artifact@v4
with:
name: linux-built-ubuntu
path: ./build/dist/MEDomics-${{ env.VERSION }}-linux.deb
compression-level: 0
env:
VERSION: ${{ steps.get-tag.outputs.VERSION }}
# Publish to GitHub
publish:
needs: [build-linux-ubuntu]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download Linux Ubuntu
uses: actions/download-artifact@v4
with:
name: linux-built-ubuntu
- name: Install zip
run: sudo apt-get install zip
- name: Move files out of pythonEnv - to root
run: |
mv ./pythonEnv/requirements.txt ./requirements.txt
mv ./pythonEnv/requirements_mac.txt ./requirements_mac.txt
mv ./pythonEnv/conda_env_osx64.yml ./conda_env_osx64.yml
mv ./pythonEnv/create_conda_env_win.bat ./create_conda_env_win.bat
mv ./pythonEnv/create_conda_env_linux.sh ./create_conda_env_linux.sh
mv ./pythonEnv/create_conda_env_mac_yml.sh ./create_conda_env_mac_yml.sh
mv ./pythonEnv/create_conda_env_mac.sh ./create_conda_env_mac.sh
ls -R
- name: zip Linux
run: zip -r MEDomics-PythonEnv-linux.zip ./requirements.txt ./create_conda_env_linux.sh
- name: Get tag name
id: get-tag
run: |
VERSION=${GITHUB_REF/refs\/tags\//}
echo "VERSION=${VERSION#v}" >> "$GITHUB_OUTPUT"
- name: Publish to GitHub
uses: softprops/action-gh-release@v1
with:
files: |
./MEDomics-${{ env.VERSION }}-linux.deb
./MEDomics-PythonEnv-linux.zip
name: MEDomics-${{ env.VERSION }}
body: |
MEDomics-${{ env.VERSION }}
This is a full release of MEDomics. This release includes the MEDomics platform and the Python environment.
Refer to the [Documentation](https://medomicslab.gitbook.io/medomics-docs/)
${{ github.ref }}
draft: true
prerelease: false
token: ${{ secrets.GITHUB_TOKEN }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ steps.get-tag.outputs.VERSION }}