Skip to content

Commit aa88aaf

Browse files
authored
Merge pull request #30 from cipherstash/release-eql.sql
Add GitHub Actions workflow for releasing cipherstash-eql.sql
2 parents e94fe28 + 955a648 commit aa88aaf

File tree

5 files changed

+67
-0
lines changed

5 files changed

+67
-0
lines changed

.github/release.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
changelog:
2+
categories:
3+
- title: Changes since the last release
4+
labels:
5+
- "*"

.github/workflows/release-eql.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: "Release EQL"
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
pull_request: # runs everything but the last step
8+
branches:
9+
- main
10+
paths:
11+
- .github/workflows/release-eql.yml
12+
# Useful for debugging
13+
workflow_dispatch:
14+
15+
defaults:
16+
run:
17+
shell: bash -l {0}
18+
19+
permissions:
20+
contents: write
21+
22+
jobs:
23+
build-and-publish:
24+
runs-on: ubuntu-latest
25+
name: Build EQL
26+
if: ${{ github.event_name != 'release' || contains(github.event.release.tag_name, 'eql') }}
27+
timeout-minutes: 5
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
- name: Install asdf & tools
34+
uses: asdf-vm/actions/install@v3
35+
36+
- name: Build EQL release
37+
run: |
38+
just build
39+
mv release/cipherstash-encrypt-dsl.sql release/cipherstash-eql.sql
40+
41+
- name: Publish EQL release artifacts
42+
uses: softprops/action-gh-release@v2
43+
if: startsWith(github.ref, 'refs/tags/')
44+
with:
45+
files: release/cipherstash-eql.sql

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,6 @@ cipherstash-proxy.toml
180180

181181
# turbo repo
182182
.turbo
183+
184+
# build artifacts
185+
release/

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
just 1.36.0

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ EQL provides a data format for transmitting and storing encrypted data & indexes
2020
- [Managing indexes with EQL](#managing-indexes-with-eql)
2121
- [Data Format](#data-format)
2222
- [Helper packages](#helper-packages)
23+
- [Releasing](#releasing)
2324

2425
---
2526

@@ -638,3 +639,15 @@ We have created a few langague specific packages to help you interact with the p
638639
639640
- [@cipherstash/eql](https://github.com/cipherstash/encrypt-query-language/tree/main/languages/javascript/packages/eql): This is a TypeScript implementation of EQL.
640641
- [github.com/encrypt-query-language/go/goeql](https://github.com/cipherstash/encrypt-query-language/tree/main/languages/go/goeql): This is a Go implementation of EQL.
642+
643+
## Releasing
644+
645+
To cut a [release](https://github.com/cipherstash/encrypt-query-language/releases) of EQL:
646+
647+
1. Draft a [new release](https://github.com/cipherstash/encrypt-query-language/releases/new) on GitHub
648+
1. Choose a tag, and create a new one with the prefix `eql-` followed by a [semver](https://semver.org/) (for example, `eql-1.2.3`)
649+
1. Generate the release notes
650+
1. Optionally set the release to be the latest (you can set a release to be latest later on if you are testing out a release first)
651+
1. Click the `Publish release` button
652+
653+
This will trigger a run of the [Release EQL](https://github.com/cipherstash/encrypt-query-language/actions/workflows/release-eql.yml) workflow, which will build and attach artifacts to the release.

0 commit comments

Comments
 (0)