Skip to content

Commit 998414c

Browse files
authored
chore: update release workflow (#37)
* chore: update release workflow * chore: sync apps versions * chore: use just * fix: remove unused and incorrect env var * chore: use simple release type
1 parent e655dfe commit 998414c

File tree

8 files changed

+89
-46
lines changed

8 files changed

+89
-46
lines changed

.github/workflows/release.yml

Lines changed: 58 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,71 @@
11
name: Release Expert
2-
32
on:
43
push:
5-
tags:
6-
- v*
4+
branches:
5+
- main
6+
7+
permissions:
8+
contents: write
9+
issues: write
10+
pull-requests: write
11+
712
jobs:
813
release:
14+
name: release
15+
runs-on: ubuntu-latest
16+
outputs:
17+
release_created: ${{ steps.release.outputs.release_created }}
18+
tag_name: ${{ steps.release.outputs.tag_name }}
19+
steps:
20+
- uses: googleapis/release-please-action@v4
21+
id: release
22+
23+
draft:
24+
name: draft
25+
needs: release
26+
env:
27+
GH_TOKEN: ${{ github.token }}
928
runs-on: ubuntu-latest
10-
name: Build and release Expert
11-
permissions:
12-
contents: write
29+
if: ${{ needs.release.outputs.release_created }}
30+
steps:
31+
- run: gh release edit ${{ needs.release.outputs.tag_name }} --draft=true --repo='elixir-lang/expert'
32+
33+
build:
34+
needs: [release, draft]
35+
runs-on: macos-14
36+
if: ${{ needs.release.outputs.release_created }}
37+
env:
38+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1339
steps:
14-
- name: Set up Elixir
15-
uses: erlef/setup-beam@v1
40+
- uses: extractions/setup-just@v3
41+
- uses: erlef/setup-beam@v1
1642
with:
17-
otp-version: "25.0"
43+
otp-version: "27.0"
1844
elixir-version: "1.15.8-otp-25"
1945
version-type: strict
20-
21-
- name: Checkout code
22-
uses: actions/checkout@v4
23-
24-
- name: Cache deps
25-
id: cache-deps
26-
uses: actions/cache@v4
27-
env:
28-
cache-name: cache-elixir-deps
46+
- uses: mlugg/setup-zig@v2
2947
with:
30-
path: deps
31-
key: ${{ runner.os }}-mix-${{ env.cache-name }}-${{ hashFiles('**/mix.lock') }}
32-
restore-keys: |
33-
${{ runner.os }}-mix-${{ env.cache-name }}-
34-
35-
- name: Install dependencies
36-
run: mix deps.get
37-
38-
- name: Compile
39-
run: mix compile
40-
41-
- name: Build release
42-
run: mix package --zip
43-
44-
- name: Archive release
48+
version: "0.14.0"
49+
- uses: actions/checkout@v4
50+
- run: just release-all
51+
env:
52+
MIX_ENV: prod
53+
- name: Create Checksum
4554
run: |
46-
cp expert.zip expert-${{ github.ref_name }}.zip
55+
cd ./apps/expert/burrito_out
56+
chmod +x ./*
57+
shasum -a 256 ./* > expert_checksums.txt
58+
cd ../../../
59+
- name: Upload to release
60+
env:
61+
GITHUB_TOKEN: ${{ secrets.token }}
62+
run: gh release upload ${{ needs.release.outputs.tag_name }} ./apps/expert/burrito_out/*
4763

48-
- name: Publish release
49-
uses: ncipollo/release-action@v1
50-
with:
51-
artifacts: expert*.zip
52-
makeLatest: true
53-
generateReleaseNotes: false
54-
allowUpdates: true
55-
artifactErrorsFailBuild: true
64+
publish:
65+
name: publish
66+
needs: [release, draft, build]
67+
runs-on: ubuntu-latest
68+
env:
69+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
steps:
71+
- run: gh release edit ${{ needs.release.outputs.tag_name }} --draft=false --repo='elixir-lang/expert'

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.1.0"
3+
}

apps/engine/mix.exs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ defmodule Engine.MixProject do
55
def project do
66
[
77
app: :engine,
8-
version: "0.7.2",
8+
version: version(),
99
elixir: "~> 1.15",
1010
start_permanent: Mix.env() == :prod,
1111
deps: deps(),
@@ -16,6 +16,10 @@ defmodule Engine.MixProject do
1616
]
1717
end
1818

19+
def version() do
20+
"../../version.txt" |> File.read!() |> String.trim()
21+
end
22+
1923
def application do
2024
[
2125
extra_applications: [:logger, :sasl, :eex, :path_glob],

apps/expert/mix.exs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ defmodule Expert.MixProject do
55
def project do
66
[
77
app: :expert,
8-
version: "0.7.2",
8+
version: version(),
99
elixir: "~> 1.15",
1010
start_permanent: Mix.env() == :prod,
1111
deps: deps(),
@@ -17,6 +17,10 @@ defmodule Expert.MixProject do
1717
]
1818
end
1919

20+
def version() do
21+
"../../version.txt" |> File.read!() |> String.trim()
22+
end
23+
2024
def application do
2125
[
2226
extra_applications: [:logger, :runtime_tools, :kernel, :erts, :observer],

apps/expert_credo/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defmodule ExpertCredo.MixProject do
22
use Mix.Project
33
Code.require_file("../../mix_dialyzer.exs")
44
@repo_url "https://github.com/elixir-lang/expert/"
5-
@version "0.5.0"
5+
@version "0.1.0"
66

77
def project do
88
[

apps/forge/mix.exs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ defmodule Forge.MixProject do
55
def project do
66
[
77
app: :forge,
8-
version: "0.7.2",
8+
version: version(),
99
elixir: "~> 1.15",
1010
elixirc_paths: elixirc_paths(Mix.env()),
1111
start_permanent: Mix.env() == :prod,
@@ -15,6 +15,10 @@ defmodule Forge.MixProject do
1515
]
1616
end
1717

18+
def version() do
19+
"../../version.txt" |> File.read!() |> String.trim()
20+
end
21+
1822
def application do
1923
[
2024
extra_applications: [:logger, :sasl, :eex]

release-please-config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3+
"packages": {
4+
".": {
5+
"package-name": "expert",
6+
"release-type": "simple",
7+
"bump-minor-pre-major": true,
8+
"include-component-in-tag": false
9+
}
10+
}
11+
}

version.txt

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

0 commit comments

Comments
 (0)