Skip to content

Commit d8106e8

Browse files
authored
Sign windows build with signpath.io (#990)
* Sign windows build with signpath.io Thanks to signpath.io for providing us with a free windows signing certificate ! - Added permissions for actions read access. - Implemented unsigned artifact upload for Windows. - Integrated SignPath for signing requests and added signed artifact upload. - Updated non-Windows artifact upload process. * release signing + link to signpath from README
1 parent 9a0cd67 commit d8106e8

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

.github/workflows/release.yml

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ name: Create Release
1111

1212
permissions:
1313
contents: write
14+
actions: read
1415

1516
jobs:
1617
build-macos-windows:
@@ -35,7 +36,39 @@ jobs:
3536
uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
3637
- name: Build
3738
run: cargo build --profile superoptimized --locked --target ${{ matrix.target }}
38-
- uses: actions/upload-artifact@v4
39+
- name: Upload unsigned Windows artifact
40+
if: matrix.os == 'windows-latest'
41+
id: upload_unsigned
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: unsigned-windows
45+
path: target/${{ matrix.target }}/superoptimized/sqlpage.exe
46+
if-no-files-found: error
47+
48+
- name: Submit signing request to SignPath
49+
if: matrix.os == 'windows-latest'
50+
id: signpath
51+
uses: signpath/[email protected]
52+
with:
53+
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
54+
organization-id: '45fd8443-c7ca-4d29-a68b-608948185335'
55+
project-slug: 'sqlpage'
56+
signing-policy-slug: 'release-signing'
57+
github-artifact-id: ${{ steps.upload_unsigned.outputs.artifact-id }}
58+
wait-for-completion: true
59+
output-artifact-directory: './signed-windows'
60+
61+
- name: Upload signed Windows artifact
62+
if: matrix.os == 'windows-latest'
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: sqlpage windows-latest
66+
path: signed-windows/sqlpage.exe
67+
if-no-files-found: error
68+
69+
- name: Upload artifact (non-Windows)
70+
if: matrix.os != 'windows-latest'
71+
uses: actions/upload-artifact@v4
3972
with:
4073
name: sqlpage ${{ matrix.os }}
4174
path: target/${{ matrix.target }}/superoptimized/sqlpage${{ matrix.binary_extension }}

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# CHANGELOG.md
22

33
## v0.37.0
4+
- We now cryptographically sign the Windows app during releases, which proves the file hasn’t been tampered with. Once the production certificate is active, Windows will show a "verified publisher" and should stop showing screens saying "This app might harm your device", "Windows protected your PC" or "Are you sure you want to run this application ?".
5+
- Thanks to https://signpath.io for providing us with a windows signing certificate !
46
- Added a new parameter `encoding` to the [fetch](https://sql-page.com/functions.sql?function=fetch) function:
57
- All [standard web encodings](https://encoding.spec.whatwg.org/#concept-encoding-get) are supported.
68
- Additionally, `base64` can be specified to decode binary data as base64 (compatible with [data URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs))

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,3 +322,10 @@ We welcome contributions! SQLPage is built with Rust and uses
322322
vanilla javascript for its frontend parts.
323323

324324
Check out our [Contributing Guide](./CONTRIBUTING.md) for detailed instructions on development setup, testing, and pull request process.
325+
326+
# Code signing policy
327+
328+
Our windows binaries are digitally signed, so they should be recognized as safe by Windows.
329+
Free code signing provided by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/). [Contributors](https://github.com/sqlpage/SQLPage/graphs/contributors), [Owners](https://github.com/orgs/sqlpage/people?query=role%3Aowner).
330+
331+
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it

0 commit comments

Comments
 (0)