-
Notifications
You must be signed in to change notification settings - Fork 7
154 lines (133 loc) · 4.69 KB
/
automaticBuildingWin.yml
File metadata and controls
154 lines (133 loc) · 4.69 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
name: Full build and publish with versioning
on:
push:
tags:
- "w*" # Push events to matching v*, i.e. v1.0, v20.15.10
permissions:
contents: write
jobs:
build-windows:
runs-on: windows-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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
shell: bash
run: |
VERSION=${GITHUB_REF/refs\/tags\//} # Remove "refs/tags/" from the beginning of the tag name
NEW_VERSION="${VERSION#w}"
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: Get-Content 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 Windows
run: npm run build:win
- name: Get tag name
id: get-tag
shell: bash
run: |
VERSION=${GITHUB_REF/refs\/tags\//}
echo "VERSION=${VERSION#w}" >> "$GITHUB_OUTPUT"
- name: Archive Windows
uses: actions/upload-artifact@v4
with:
name: windows-built
path: ./build/dist/MEDomics-${{ env.VERSION }}-win.exe
compression-level: 0
env:
VERSION: ${{ steps.get-tag.outputs.VERSION }}
- name: Archive Windows blockmap
uses: actions/upload-artifact@v4
with:
name: windows-built-blockmap
path: ./build/dist/MEDomics-${{ env.VERSION }}-win.exe.blockmap
compression-level: 0
env:
VERSION: ${{ steps.get-tag.outputs.VERSION }}
- name: Archive Windows latest.yml file
uses: actions/upload-artifact@v4
with:
name: windows-built-latest
path: ./build/dist/latest.yml
compression-level: 0
env:
VERSION: ${{ steps.get-tag.outputs.VERSION }}
# Publish to GitHub
publish:
needs: [build-windows]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download Windows
uses: actions/download-artifact@v4
with:
name: windows-built
- name: Download Windows blockmap
uses: actions/download-artifact@v4
with:
name: windows-built-blockmap
- name: Download Windows latest.yml file
uses: actions/download-artifact@v4
with:
name: windows-built-latest
- 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 Windows
run: zip -r MEDomics-PythonEnv-win.zip ./requirements.txt ./create_conda_env_win.bat
- name: Get tag name
id: get-tag
run: |
VERSION=${GITHUB_REF/refs\/tags\//}
echo "VERSION=${VERSION#w}" >> "$GITHUB_OUTPUT"
- name: Publish to GitHub
uses: softprops/action-gh-release@v1
with:
files: |
./MEDomics-${{ env.VERSION }}-win.exe
./MEDomics-${{ env.VERSION }}-win.exe.blockmap
./latest.yml
./MEDomics-PythonEnv-win.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 }}