Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
345fbb4
Update Ubuntu versions from 20.04/22.04 to 24.04 in GitHub workflows
devin-ai-integration[bot] Apr 9, 2025
418fc00
Update additional workflow files to use Ubuntu 24.04
devin-ai-integration[bot] Apr 9, 2025
e4b37d4
Update Redis GitHub Action to version 1.8.0 for Ubuntu 24.04 compatib…
devin-ai-integration[bot] Apr 9, 2025
8a2e8ca
Update erlef/setup-beam action to v1.18.2 for better compatibility wi…
devin-ai-integration[bot] Apr 9, 2025
852f65f
Update contract-tests action to v1.1.0 for Ubuntu 24.04 compatibility
devin-ai-integration[bot] Apr 9, 2025
91f9915
Replace erlef/setup-beam with kerl for installing specific Erlang ver…
devin-ai-integration[bot] Apr 9, 2025
7b9ea5c
Replace erlef/setup-beam with kerl for installing specific Erlang ver…
devin-ai-integration[bot] Apr 9, 2025
918ecc2
Fix rebar3 installation to use specific versions and ensure it's in PATH
devin-ai-integration[bot] Apr 9, 2025
931aca6
Fix contract test service startup in CI workflow
devin-ai-integration[bot] Apr 9, 2025
edf4f51
Install rebar3 from source.
kinyoklion Apr 9, 2025
5777408
Install rebar3 correctly.
kinyoklion Apr 9, 2025
1dda05c
Home
kinyoklion Apr 9, 2025
2b8da7d
Debugging.
kinyoklion Apr 9, 2025
33609a1
More debug.
kinyoklion Apr 10, 2025
7800f0c
Fix path
kinyoklion Apr 10, 2025
a291e0d
Add erl path.
kinyoklion Apr 10, 2025
8e8d68b
Consolidate erlang/rebar install action.
kinyoklion Apr 10, 2025
c785796
Use correct iteration of script.
kinyoklion Apr 10, 2025
14b3f0e
Add shell.
kinyoklion Apr 10, 2025
499cb78
Consistent version handling.
kinyoklion Apr 10, 2025
ddaf3bf
Correct versions.
kinyoklion Apr 10, 2025
9f4243f
Remove extraneous commands.
kinyoklion Apr 10, 2025
cc0a591
Use default versions for non-ci case.
kinyoklion Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/actions/ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,18 @@ runs:
steps:
- run: make compile
shell: bash
- uses: supercharge/redis-github-action@1.6.0
- uses: supercharge/redis-github-action@ea9b21c6ecece47bd99595c532e481390ea0f044
- run: make ci-tests
shell: bash
- uses: ./.github/actions/build-docs
- run: make dialyze
shell: bash
- run: make build-contract-tests
shell: bash
- run: make start-contract-test-service-bg
- name: Start contract test service
shell: bash
- uses: launchdarkly/gh-actions/actions/[email protected]
run: make start-contract-test-service-bg
- uses: launchdarkly/gh-actions/actions/[email protected]
with:
test_service_port: 8000
token: ${{ inputs.github_token }}
Expand Down
50 changes: 50 additions & 0 deletions .github/actions/install-erlang/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: 'Install Erlang OTP and rebar3'
description: 'Installs a specific version of Erlang OTP and rebar3'
inputs:
otp_version:
description: 'The OTP version to install'
required: false
default: '25.3.2.19'
rebar_version:
description: 'The rebar3 version to install'
required: false
default: '174fd9070195443d693d444ecd1f2b7aa91661fe' # 3.18.0
runs:
using: "composite"
steps:

- name: Install kerl
shell: bash
run: |
curl -s https://raw.githubusercontent.com/kerl/kerl/master/kerl > /tmp/kerl
chmod a+x /tmp/kerl

- name: Install Erlang OTP and rebar3
shell: bash
run: |
# Build and install Erlang
/tmp/kerl build ${{ inputs.otp_version }} ${{ inputs.otp_version }}
/tmp/kerl install ${{ inputs.otp_version }} ~/otp/${{ inputs.otp_version }}
# This will make the erlang version available to the current shell.
. ~/otp/${{ inputs.otp_version }}/activate
# Persist to the github actions path for use in future steps.
echo "$HOME/otp/${{ inputs.otp_version }}/bin" >> "$GITHUB_PATH"

# Install specific rebar3 version
cd ~/
git clone https://github.com/erlang/rebar3.git
cd rebar3
git checkout ${{ matrix.versions.rebar }}
./bootstrap
./rebar3 local install

# Add to the path for use in this step.
export PATH=$HOME/otp/${{ inputs.otp_version }}/.cache/rebar3/bin:$PATH
# Persist to the github actions path for use in future steps.
echo "$HOME/otp/${{ inputs.otp_version }}/.cache/rebar3/bin" >> "$GITHUB_PATH"

# Verify installation
echo "Installed Erlang version:"
erl -noshell -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().'
echo "Installed rebar3 version:"
rebar3 --version
19 changes: 10 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,24 @@ jobs:
fail-fast: false
matrix:
versions:
- {os: 'ubuntu-20.04', otp: '21.x', rebar: '3.15.2'}
- {os: 'ubuntu-22.04', otp: '25.x', rebar: '3.18.0'}
- {os: 'ubuntu-22.04', otp: '27.x', rebar: '3.23.0'}
- { otp: "21.3.8.24", rebar: "0be8717a4ff5b4a0c3dcef5031fe9833197d861e" } # rebar 3.15.2
- { otp: "25.3.2.19", rebar: "174fd9070195443d693d444ecd1f2b7aa91661fe" } # rebar 3.18.0
- { otp: "27.3.2", rebar: "bde4b54248d16280b2c70a244aca3bb7566e2033" } # rebar 3.23.0

runs-on: ${{ matrix.versions.os }}
runs-on: ubuntu-24.04
name: Build and Test - ${{ matrix.versions.otp }}

steps:
- uses: erlef/setup-beam@v1
with:
version-type: loose
otp-version: ${{ matrix.versions.otp }}
rebar3-version: ${{ matrix.versions.rebar }}
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Install Erlang and rebar3
uses: ./.github/actions/install-erlang
with:
otp_version: ${{ matrix.versions.otp }}
rebar_version: ${{ matrix.versions.rebar }}

- uses: ./.github/actions/ci
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/manual-publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ on:
name: Publish Documentation
jobs:
build-publish:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
# Needed to get tokens during publishing.
permissions:
id-token: write
contents: write # Need to publish github pages.
steps:
- uses: erlef/setup-beam@v1
with:
version-type: loose
otp-version: 25.x
rebar3-version: 3.18.0
- uses: actions/checkout@v3

- name: Install Erlang and rebar3
uses: ./.github/actions/install-erlang

- id: build
name: Build Documentation
uses: ./.github/actions/build-docs
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/manual-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,17 @@ on:

jobs:
manual-build-publish:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
# Needed to get tokens during publishing.
permissions:
id-token: write
contents: read
steps:
- uses: erlef/setup-beam@v1
with:
version-type: loose
otp-version: 25.x
rebar3-version: 3.18.0
- uses: actions/checkout@v3

- name: Install Erlang and rebar3
uses: ./.github/actions/install-erlang

- id: build-and-test
# Build using the same steps from CI.
name: Build and Test
Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
release-package:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel a little better pinning this.

permissions:
id-token: write # Needed if using OIDC to get release secrets.
contents: write # Contents and pull-requests are for release-please to make releases.
Expand All @@ -21,18 +21,15 @@ jobs:
token: ${{secrets.GITHUB_TOKEN}}
default-branch: main

- uses: erlef/setup-beam@v1
if: ${{ steps.release.outputs.releases_created }}
with:
version-type: loose
otp-version: 25.x
rebar3-version: 3.18.0

- uses: actions/checkout@v3
if: ${{ steps.release.outputs.releases_created }}
with:
fetch-depth: 0 #If you only need the current version keep this.

- name: Install Erlang and rebar3
if: ${{ steps.release.outputs.releases_created }}
uses: ./.github/actions/install-erlang

- uses: ./.github/actions/configure-rebar
with:
aws_assume_role: ${{ vars.AWS_ROLE_ARN }}
Expand Down