63
63
with :
64
64
dotnet-version : ' 8.0.x'
65
65
66
- - name : install Wasi workload
66
+ - name : Install Wasi workload
67
67
run : dotnet workload install wasi-experimental
68
68
69
69
- name : Download Wasi SDK on Ubuntu
@@ -85,51 +85,13 @@ jobs:
85
85
name : wasm-file
86
86
path : dist/plugin.wasm
87
87
88
- # codegen-tests:
89
- # name: Codegen Test
90
- # runs-on: ubuntu-latest
91
- # needs: [build]
92
- # strategy:
93
- # matrix:
94
- # file-per-query: [ 'true', 'false' ]
95
- # generate-csproj: [ 'true', 'false' ]
96
- # target-framework: [ 'net8.0', 'netstandard2.0', 'netstandard2.1' ]
97
- #
98
- # steps:
99
- # - uses: actions/checkout@v4
100
- # - uses: actions/download-artifact@v4
101
- # with:
102
- # name: wasm-file
103
- # path: dist
104
- #
105
- # - name: Load .env file
106
-
107
- # with:
108
- # load-mode: strict
109
- #
110
- # - uses: sqlc-dev/setup-sqlc@v4
111
- # with:
112
- # sqlc-version: '1.25.0'
113
- #
114
- # - name: Updating plugin sha
115
- # run: ./scripts/wasm/update_sha.sh ${SQLC_CI_FILE}
116
- #
117
- # - name: Codegen Test
118
- # run: ./scripts/tests/run_codegen.sh ${SQLC_CI_FILE} \
119
- # ${{ matrix.file-per-query }} ${{ matrix.generate-csproj }} ${{ matrix.target-framework }}
120
- #
121
- # - uses: actions/setup-dotnet@v4
122
- # with:
123
- # dotnet-version: ${{ matrix.target-framework == 'net8.0' && '8.0.x' || '3.1.x' }}
124
-
125
88
end2end-tests :
126
89
name : End-to-End Tests
127
90
runs-on : ubuntu-latest
128
91
needs : [build]
129
92
130
93
steps :
131
94
- uses : actions/checkout@v4
132
-
133
95
- uses : actions/download-artifact@v4
134
96
with :
135
97
name : wasm-file
@@ -146,8 +108,8 @@ jobs:
146
108
147
109
- name : Verify pushed generated code is synced
148
110
run : |
149
- ./scripts/wasm/update_sha.sh $SQLC_CI_FILE
150
- sqlc -f $SQLC_CI_FILE diff
111
+ ./scripts/wasm/update_sha.sh ${ SQLC_CI_FILE}
112
+ sqlc -f ${ SQLC_CI_FILE} diff
151
113
152
114
- name : Docker compose
153
115
uses :
hoverkraft-tech/[email protected]
@@ -159,7 +121,7 @@ jobs:
159
121
160
122
- name : End-to-End Tests
161
123
run : ./scripts/tests/run_end2end.sh
162
-
124
+
163
125
release :
164
126
name : Release
165
127
runs-on : ubuntu-latest
@@ -171,41 +133,52 @@ jobs:
171
133
with :
172
134
fetch-depth : 0
173
135
174
- - uses : actions/download-artifact@v2
136
+ - uses : actions/download-artifact@v4
175
137
with :
176
138
name : wasm-file
177
139
178
140
- name : Bump version and create new tag
179
141
id : bump_version
180
142
run : |
143
+ bump_version() {
144
+ latest_tag=$1
145
+ latest_commit_msg=$2
146
+
147
+ BUMP_TYPE="patch" # Initialize the default version bump type to patch
148
+ if [[ $latest_commit_msg == *"[major]"* ]]; then
149
+ BUMP_TYPE="major"
150
+ elif [[ $latest_commit_msg == *"[minor]"* ]]; then
151
+ BUMP_TYPE="minor"
152
+ fi
153
+
154
+ case $BUMP_TYPE in
155
+ "major")
156
+ NEW_TAG=$(echo $latest_tag | awk -F. '{OFS="."; $1="v" substr($1,2)+1; $2="0"; $3="0"; print}')
157
+ ;;
158
+ "minor")
159
+ NEW_TAG=$(echo $latest_tag | awk -F. '{OFS="."; $2=$2+1; $3="0"; print}')
160
+ ;;
161
+ "patch")
162
+ NEW_TAG=$(echo $latest_tag | awk -F. '{OFS="."; $3=$3+1; print}')
163
+ ;;
164
+ esac
165
+ return NEW_TAG
166
+ }
167
+
181
168
set -e
169
+
182
170
echo "Extract the latest tag version"
183
- LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
184
- echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV
185
-
186
- echo "latest tag version: $LATEST_TAG"
171
+ LATEST_TAG_COMMIT=$(git rev-list --tags --max-count=1)
187
172
LATEST_COMMIT_MSG=$(git log -1 --pretty=%B)
188
-
189
- BUMP_TYPE="patch" # Initialize the default version bump type to patch
190
- if [[ $LATEST_COMMIT_MSG == *"[major]"* ]]; then
191
- BUMP_TYPE="major"
192
- elif [[ $LATEST_COMMIT_MSG == *"[minor]"* ]]; then
193
- BUMP_TYPE="minor"
173
+
174
+ if [ -z $LATEST_TAG_COMMIT ]; then
175
+ NEW_TAG="0.10.0" # default 1st release version
176
+ else
177
+ LATEST_TAG=$(git describe --tags $LATEST_TAG_COMMIT)
178
+ echo "latest tag version: $LATEST_TAG"
179
+ NEW_TAG=$(bump_version $LATEST_TAG $LATEST_COMMIT_MSG)
194
180
fi
195
181
196
- # Bump the version based on the type
197
- case $BUMP_TYPE in
198
- "major")
199
- NEW_TAG=$(echo $LATEST_TAG | awk -F. '{OFS="."; $1="v" substr($1,2)+1; $2="0"; $3="0"; print}')
200
- ;;
201
- "minor")
202
- NEW_TAG=$(echo $LATEST_TAG | awk -F. '{OFS="."; $2=$2+1; $3="0"; print}')
203
- ;;
204
- "patch")
205
- NEW_TAG=$(echo $LATEST_TAG | awk -F. '{OFS="."; $3=$3+1; print}')
206
- ;;
207
- esac
208
-
209
182
echo "New tag version: $NEW_TAG"
210
183
echo "NEW_TAG=$NEW_TAG" >> $GITHUB_ENV
211
184
@@ -223,12 +196,18 @@ jobs:
223
196
env :
224
197
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
225
198
run : |
199
+ set -e
200
+
226
201
LATEST_TAG=${{ env.LATEST_TAG }}
227
202
NEW_TAG=${{ env.NEW_TAG }}
228
203
SHA256_HASH=${{ env.SHA256_HASH }}
229
204
230
- PREVIOUS_TAG=$(git rev-list -n 1 $LATEST_TAG)
231
- CHANGE_LOG=$(git --no-pager log $PREVIOUS_TAG..HEAD --pretty=format:'%h - %an, %ar : %s')
205
+ if [ -z $LATEST_TAG ]; then
206
+ CHANGE_LOG="TBD: Manually fill the 1st release features in here"
207
+ else
208
+ PREVIOUS_TAG=$(git rev-list -n 1 $LATEST_TAG)
209
+ CHANGE_LOG=$(git --no-pager log $PREVIOUS_TAG..HEAD --pretty=format:'%h - %an, %ar : %s')
210
+ fi
232
211
233
212
# Define the release notes template
234
213
RELEASE_NOTES=$(cat <<EOF
@@ -248,7 +227,7 @@ jobs:
248
227
$CHANGE_LOG
249
228
250
229
## Contributors
251
- * @doron050 @ SockworkOrange
230
+ * @SockworkOrange
252
231
EOF
253
232
)
254
233
0 commit comments