Skip to content

Conversation

@JackPGreen
Copy link
Contributor

@JackPGreen JackPGreen commented Sep 5, 2024

The nightly and PR builder test actions are largely identical, but duplicated.

Changes:

  • Extract common jobs into shared composite workflows
    • e.g. a single shared Ubuntu x64 build+test action for PR builder or nightly builds
  • Upgrade code coverage in PR builder to use ubuntu-latest as used elsewhere.

I did try to centralise duplicated matrix configuration, but for some reason all the jobs were stuck at pending, which looks to be a GitHub issue.

Because the PR builder uses pull_request_target, I've done the PR from a non-fork, with a version just using pull_request to demonstrate a green passing PR builder invocation.

Fixes: #1237

@JackPGreen JackPGreen self-assigned this Sep 5, 2024
@JackPGreen JackPGreen force-pushed the merge-nightly-and-pr-builds branch 2 times, most recently from d369e65 to 8236eee Compare September 6, 2024 16:01
@JackPGreen JackPGreen force-pushed the merge-nightly-and-pr-builds branch from 8236eee to 3d44317 Compare September 6, 2024 16:03
@JackPGreen JackPGreen force-pushed the merge-nightly-and-pr-builds branch from cd0a245 to da35126 Compare September 7, 2024 07:18
@JackPGreen JackPGreen requested a review from nishaatr September 18, 2024 11:12
@JackPGreen JackPGreen enabled auto-merge (squash) September 18, 2024 11:25
@JackPGreen
Copy link
Contributor Author

@ihsandemir are you able to force-merge because of #1240 (comment) please?

@nishaatr nishaatr disabled auto-merge September 18, 2024 11:37
@nishaatr
Copy link
Contributor

@ihsandemir are you able to force-merge because of #1240 (comment) please?

I can. Shall I?

@nishaatr nishaatr merged commit 952e05e into master Sep 18, 2024
JackPGreen added a commit that referenced this pull request Feb 24, 2025
This action has been [failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-windows.yml?query=is%3Afailure),
see the [most recent
failure](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13434821788).

The most recent error seems to have been introduced in
#1243 where a
copy-paste error referenced the nested `build_type.type` element of the
matrix which does not exist for the Windows jobs due to a difference in
configuration.

Testing blocked by
#1262.
JackPGreen added a commit that referenced this pull request Mar 11, 2025
The action [has been failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-ubuntu-i386.yml)
and I have identified a couple of issues:

- #1239 introduced
an implicit dependency on Node 20 - incompatible with Ubuntu i386
- #1260 introduced
a dependency on `gh` which is pre-installed on GitHub Actions runner
images... but the `ubuntu-i386` variant doesn't _use_ the runner image
and instead runs on a vanilla Docker image and as such we must
explicitly install `gh` as a prerequisite.
- #1243
erroneously updated the i386 nightly build to use the **x64** variant

Tested
[here](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13507682122)
✅.
@ihsandemir ihsandemir deleted the merge-nightly-and-pr-builds branch May 21, 2025 08:24
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
The nightly and PR builder test actions are largely identical, but
duplicated.

Changes:
- Extract common jobs into shared `composite` workflows
- e.g. a single shared Ubuntu x64 build+test action for PR builder _or_
nightly builds
- Upgrade code coverage in PR builder to use `ubuntu-latest` as used
elsewhere.

Fixes: hazelcast#1237
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
This action has been [failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-windows.yml?query=is%3Afailure),
see the [most recent
failure](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13434821788).

The most recent error seems to have been introduced in
hazelcast#1243 where a
copy-paste error referenced the nested `build_type.type` element of the
matrix which does not exist for the Windows jobs due to a difference in
configuration.

Testing blocked by
hazelcast#1262.
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
The action [has been failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-ubuntu-i386.yml)
and I have identified a couple of issues:

- hazelcast#1239 introduced
an implicit dependency on Node 20 - incompatible with Ubuntu i386
- hazelcast#1260 introduced
a dependency on `gh` which is pre-installed on GitHub Actions runner
images... but the `ubuntu-i386` variant doesn't _use_ the runner image
and instead runs on a vanilla Docker image and as such we must
explicitly install `gh` as a prerequisite.
- hazelcast#1243
erroneously updated the i386 nightly build to use the **x64** variant

Tested
[here](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13507682122)
✅.
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
The nightly and PR builder test actions are largely identical, but
duplicated.

Changes:
- Extract common jobs into shared `composite` workflows
- e.g. a single shared Ubuntu x64 build+test action for PR builder _or_
nightly builds
- Upgrade code coverage in PR builder to use `ubuntu-latest` as used
elsewhere.

Fixes: hazelcast#1237
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
This action has been [failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-windows.yml?query=is%3Afailure),
see the [most recent
failure](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13434821788).

The most recent error seems to have been introduced in
hazelcast#1243 where a
copy-paste error referenced the nested `build_type.type` element of the
matrix which does not exist for the Windows jobs due to a difference in
configuration.

Testing blocked by
hazelcast#1262.
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
The action [has been failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-ubuntu-i386.yml)
and I have identified a couple of issues:

- hazelcast#1239 introduced
an implicit dependency on Node 20 - incompatible with Ubuntu i386
- hazelcast#1260 introduced
a dependency on `gh` which is pre-installed on GitHub Actions runner
images... but the `ubuntu-i386` variant doesn't _use_ the runner image
and instead runs on a vanilla Docker image and as such we must
explicitly install `gh` as a prerequisite.
- hazelcast#1243
erroneously updated the i386 nightly build to use the **x64** variant

Tested
[here](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13507682122)
✅.
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
The nightly and PR builder test actions are largely identical, but
duplicated.

Changes:
- Extract common jobs into shared `composite` workflows
- e.g. a single shared Ubuntu x64 build+test action for PR builder _or_
nightly builds
- Upgrade code coverage in PR builder to use `ubuntu-latest` as used
elsewhere.

Fixes: hazelcast#1237
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
This action has been [failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-windows.yml?query=is%3Afailure),
see the [most recent
failure](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13434821788).

The most recent error seems to have been introduced in
hazelcast#1243 where a
copy-paste error referenced the nested `build_type.type` element of the
matrix which does not exist for the Windows jobs due to a difference in
configuration.

Testing blocked by
hazelcast#1262.
ihsandemir pushed a commit to ihsandemir/hazelcast-cpp-client that referenced this pull request May 23, 2025
The action [has been failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-ubuntu-i386.yml)
and I have identified a couple of issues:

- hazelcast#1239 introduced
an implicit dependency on Node 20 - incompatible with Ubuntu i386
- hazelcast#1260 introduced
a dependency on `gh` which is pre-installed on GitHub Actions runner
images... but the `ubuntu-i386` variant doesn't _use_ the runner image
and instead runs on a vanilla Docker image and as such we must
explicitly install `gh` as a prerequisite.
- hazelcast#1243
erroneously updated the i386 nightly build to use the **x64** variant

Tested
[here](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13507682122)
✅.
ihsandemir pushed a commit that referenced this pull request May 23, 2025
The nightly and PR builder test actions are largely identical, but
duplicated.

Changes:
- Extract common jobs into shared `composite` workflows
- e.g. a single shared Ubuntu x64 build+test action for PR builder _or_
nightly builds
- Upgrade code coverage in PR builder to use `ubuntu-latest` as used
elsewhere.

Fixes: #1237
ihsandemir pushed a commit that referenced this pull request May 23, 2025
This action has been [failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-windows.yml?query=is%3Afailure),
see the [most recent
failure](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13434821788).

The most recent error seems to have been introduced in
#1243 where a
copy-paste error referenced the nested `build_type.type` element of the
matrix which does not exist for the Windows jobs due to a difference in
configuration.

Testing blocked by
#1262.
ihsandemir pushed a commit that referenced this pull request May 23, 2025
The action [has been failing for a
while](https://github.com/hazelcast/hazelcast-cpp-client/actions/workflows/nightly-ubuntu-i386.yml)
and I have identified a couple of issues:

- #1239 introduced
an implicit dependency on Node 20 - incompatible with Ubuntu i386
- #1260 introduced
a dependency on `gh` which is pre-installed on GitHub Actions runner
images... but the `ubuntu-i386` variant doesn't _use_ the runner image
and instead runs on a vanilla Docker image and as such we must
explicitly install `gh` as a prerequisite.
- #1243
erroneously updated the i386 nightly build to use the **x64** variant

Tested
[here](https://github.com/hazelcast/hazelcast-cpp-client/actions/runs/13507682122)
✅.
JackPGreen added a commit to hazelcast/hazelcast-go-client that referenced this pull request Jul 8, 2025
Many of the CI GitHub Actions all have the same pre-amble:
- Setup Go/Java
- Start RCD

We can move all this into a shared composite action and re-use across
those workflows, a similar approach was done in
hazelcast/hazelcast-cpp-client#1243.

Changes:
- centralise `build` action created
- merged `test-all-32bits.yaml` into `test-all.yaml` as only difference
was a single environment variable
- fix [`Restore cache failed: Dependencies file is not found`
warning](https://github.com/hazelcast/hazelcast-go-client/actions/runs/15828858525)
caused by checkout to subdirectory
- update subdirectory checkout to avoid `$HOME` - it wasn't _actually_
being resolved anyway so just looked odd

Note that some versions were slightly conflicting between actions, and I
picked the former as looks newer:
- `test-all.yaml` uses:
    - `golang.org/x/tools/[email protected]`
    - `honnef.co/go/tools/cmd/[email protected]`
- `test-race.yaml` uses:
    - `golang.org/x/tools/[email protected]`
    - `honnef.co/go/tools/cmd/[email protected]`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Merge nightly + PR builder test GitHub Actions

3 participants