Skip to content

Commit 7391844

Browse files
committed
Add support for 'latest' version with proper URL pattern
- When version is 'latest', use /releases/latest/download/ URL path - Otherwise use standard /releases/download/{version}/ path - Update example workflow to use 'latest' for all databases
1 parent 43f0366 commit 7391844

File tree

4 files changed

+24
-7
lines changed

4 files changed

+24
-7
lines changed

.github/workflows/example.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
uses: ./
4141
with:
4242
command: psqldef
43-
version: v3.0.0
43+
version: latest
4444
baseline-schema-file: examples/psqldef-current.sql
4545
schema-file: examples/psqldef-desired.sql
4646
pg-user: postgres
@@ -76,7 +76,7 @@ jobs:
7676
uses: ./
7777
with:
7878
command: mysqldef
79-
version: v3.0.0
79+
version: latest
8080
baseline-schema-file: examples/mysqldef-current.sql
8181
schema-file: examples/mysqldef-desired.sql
8282
mysql-user: root
@@ -98,7 +98,7 @@ jobs:
9898
uses: ./
9999
with:
100100
command: sqlite3def
101-
version: v3.0.0
101+
version: latest
102102
baseline-schema-file: examples/sqlite3def-current.sql
103103
schema-file: examples/sqlite3def-desired.sql
104104
sqlite-database: test.db
@@ -142,7 +142,7 @@ jobs:
142142
uses: ./
143143
with:
144144
command: mssqldef
145-
version: v3.0.0
145+
version: latest
146146
baseline-schema-file: examples/mssqldef-current.sql
147147
schema-file: examples/mssqldef-desired.sql
148148
mssql-user: sa

dist/index.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,16 @@ async function downloadSqldef(command, version) {
7575
default:
7676
throw new Error(`Unsupported architecture: ${arch}`);
7777
}
78-
const downloadUrl = `https://github.com/sqldef/sqldef/releases/download/${version}/${command}_${osName}_${archName}.tar.gz`;
78+
// Support "latest" version with special URL pattern
79+
// When version is "latest", use /releases/latest/download/ path
80+
// Otherwise use the standard /releases/download/{version}/ path
81+
let downloadUrl;
82+
if (version === "latest") {
83+
downloadUrl = `https://github.com/sqldef/sqldef/releases/latest/download/${command}_${osName}_${archName}.tar.gz`;
84+
}
85+
else {
86+
downloadUrl = `https://github.com/sqldef/sqldef/releases/download/${version}/${command}_${osName}_${archName}.tar.gz`;
87+
}
7988
core.info(`Downloading ${command} ${version} from ${downloadUrl}`);
8089
const downloadPath = await tc.downloadTool(downloadUrl);
8190
const extractedPath = await tc.extractTar(downloadPath);

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,15 @@ async function downloadSqldef(command: string, version: string): Promise<string>
4444
throw new Error(`Unsupported architecture: ${arch}`);
4545
}
4646

47-
const downloadUrl = `https://github.com/sqldef/sqldef/releases/download/${version}/${command}_${osName}_${archName}.tar.gz`;
47+
// Support "latest" version with special URL pattern
48+
// When version is "latest", use /releases/latest/download/ path
49+
// Otherwise use the standard /releases/download/{version}/ path
50+
let downloadUrl: string;
51+
if (version === "latest") {
52+
downloadUrl = `https://github.com/sqldef/sqldef/releases/latest/download/${command}_${osName}_${archName}.tar.gz`;
53+
} else {
54+
downloadUrl = `https://github.com/sqldef/sqldef/releases/download/${version}/${command}_${osName}_${archName}.tar.gz`;
55+
}
4856

4957
core.info(`Downloading ${command} ${version} from ${downloadUrl}`);
5058

0 commit comments

Comments
 (0)