Skip to content

Commit c3a0353

Browse files
committed
Upgrade native artifacts to P4API 2025.2 and OpenSSL 3
1 parent 39177be commit c3a0353

5 files changed

Lines changed: 23 additions & 25 deletions

File tree

.github/workflows/nix-build-and-upload.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
credentials_json: ${{ secrets.CTAGS_GCP_SERVICE_ACCOUNT }}
2020
- name: Run `nix build`
2121
run: |
22-
nix build .#p4-fusion_openssl1_1-static
22+
nix build .#p4-fusion_openssl3-static
2323
- name: Sign the binary
2424
# signing in ./result/bin will cause a cache miss on next invocation
2525
run: |
@@ -52,7 +52,7 @@ jobs:
5252
credentials_json: ${{ secrets.CTAGS_GCP_SERVICE_ACCOUNT }}
5353
- name: Run `nix build`
5454
run: |
55-
nix build .#p4-fusion_openssl1_1-static
55+
nix build .#p4-fusion_openssl3-static
5656
- name: Sign the binary
5757
# signing in ./result/bin will cause a cache miss on next invocation
5858
run: |
@@ -85,7 +85,7 @@ jobs:
8585
credentials_json: ${{ secrets.CTAGS_GCP_SERVICE_ACCOUNT }}
8686
- name: Run `nix build`
8787
run: |
88-
nix build .#p4-fusion_openssl1_1-static
88+
nix build .#p4-fusion_openssl3-static
8989
- name: Rename and prepare for upload
9090
run: |
9191
mkdir -p dist

.github/workflows/scip-clang.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ jobs:
2222
uses: actions/cache@v4
2323
with:
2424
path: /tmp/p4-download
25-
key: ${{ runner.os }}-p4api-r23.1
25+
key: ${{ runner.os }}-p4api-r25.2-openssl3
2626

2727
- name: "Download Perforce API"
2828
if: ${{ steps.cache-p4api.outputs.cache-hit != 'true' }}
2929
run: |
3030
set -euxo pipefail
3131
mkdir -p /tmp/p4-download
32-
curl -L "https://filehost.perforce.com/perforce/r23.1/bin.linux26x86_64/p4api-glibc2.3-openssl1.1.1.tgz" --output /tmp/p4-download/p4.tgz
32+
curl -L "https://filehost.perforce.com/perforce/r25.2/bin.linux26x86_64/p4api-glibc2.3-openssl3.tgz" --output /tmp/p4-download/p4.tgz
3333
3434
- name: "Unpack Perforce API"
3535
run: |
@@ -42,14 +42,14 @@ jobs:
4242
uses: actions/cache@v4
4343
with:
4444
path: /tmp/openssl-download
45-
key: ${{ runner.os }}-openssl-1.1.1w
45+
key: ${{ runner.os }}-openssl-3.0.19
4646

4747
- name: "Download OpenSSL"
4848
if: ${{ steps.cache-openssl.outputs.cache-hit != 'true' }}
4949
run: |
5050
set -euxo pipefail
5151
mkdir -p /tmp/openssl-download
52-
curl -L "https://www.openssl.org/source/openssl-1.1.1w.tar.gz" --output /tmp/openssl-download/openssl.tgz
52+
curl -L "https://www.openssl.org/source/openssl-3.0.19.tar.gz" --output /tmp/openssl-download/openssl.tgz
5353
5454
- name: "Compile OpenSSL"
5555
run: |

.github/workflows/validate-migration.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ concurrency:
88

99
env:
1010
# Setup: Constants for downloading and compiling dependencies
11-
P4_DOWNLOAD_URL: "https://filehost.perforce.com/perforce/r23.1/bin.linux26x86_64/p4api-glibc2.3-openssl1.1.1.tgz"
11+
P4_DOWNLOAD_URL: "https://filehost.perforce.com/perforce/r25.2/bin.linux26x86_64/p4api-glibc2.3-openssl3.tgz"
1212
P4_DOWNLOAD_DIR: "/tmp/p4-download"
1313

14-
OPENSSL_DOWNLOAD_URL: "https://www.openssl.org/source/openssl-1.1.1w.tar.gz"
14+
OPENSSL_DOWNLOAD_URL: "https://www.openssl.org/source/openssl-3.0.19.tar.gz"
1515
OPENSSL_SOURCE_DIR: "/tmp/openssl-src"
1616
OPENSSL_INSTALL_DIR: "/tmp/openssl-install"
1717
OPENSSL_DOWNLOAD_DIR: "/tmp/openssl-download"
@@ -91,15 +91,13 @@ jobs:
9191
;;
9292
9393
valgrindMemcheck)
94-
OPENSSL_FLAGS="-DPURIFY" # See https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/Configure#L113-L124
9594
VALGRIND_FLAGS="--tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes"
9695
9796
# Use GCC instead of Clang for Valgrind since Ubuntu ships with suppression files for glibc
9897
USE_GCC="true"
9998
;;
10099
101100
valgrindHelgrind)
102-
OPENSSL_FLAGS="-DPURIFY" # See https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/Configure#L113-L124
103101
VALGRIND_FLAGS="--tool=helgrind --track-lockorders=yes --history-level=full"
104102
105103
# Use GCC instead of Clang for Valgrind since Ubuntu ships with suppression files for glibc
@@ -175,7 +173,7 @@ jobs:
175173
uses: perforce/setup-p4@1.0.2
176174
with:
177175
command: "trust -y -f"
178-
p4_version: 23.1
176+
p4_version: 25.2
179177

180178
- name: "Install APT package dependencies"
181179
run: |

nix/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ We highly recommend the [Determinate Systems' Nix installer](https://github.com/
1010

1111
## Binary targets
1212

13-
Build targets are provided for various combinations of target OS, architecture, OpenSSL version and static vs dynamic binaries. To build e.g. a static x86_64 Linux with OpenSSL 1.1, you would run `nix build .#p4-fusion_openssl1_1-static` on a Linux machine. Check the `packages` section of `nix flake show` for the full list of targets.
13+
Build targets are provided for various combinations of target OS, architecture, OpenSSL version and static vs dynamic binaries. Published binaries use OpenSSL 3; to build e.g. a static x86_64 Linux binary, run `nix build .#p4-fusion_openssl3-static` on a Linux machine. Check the `packages` section of `nix flake show` for the full list of targets, including optional OpenSSL 1.1 builds.
1414

1515
## Troubleshooting
1616

nix/helix-core-api.nix

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,35 @@
33
"1.1" = {
44
aarch64-darwin = fetchzip {
55
name = "helix-core-api";
6-
url = "https://filehost.perforce.com/perforce/r23.1/bin.macosx12arm64/p4api-openssl1.1.1.tgz";
7-
hash = "sha256-oUzpbJhcDEgJ5gxQ2dHZ/M2hhWTj0p4Pv9iL6GOvCXY=";
6+
url = "https://filehost.perforce.com/perforce/r25.2/bin.macosx12arm64/p4api-openssl1.1.1.tgz";
7+
hash = "sha256-Itj1Tv1iAQysLcSNi3FyGYzYKpPoqGoowowitHHLpUk=";
88
};
99
x86_64-darwin = fetchzip {
1010
name = "helix-core-api";
11-
url = "https://filehost.perforce.com/perforce/r23.1/bin.macosx12x86_64/p4api-openssl1.1.1.tgz";
12-
hash = "sha256-1HQXcF/3lRv5H2L2IKvWNyYYY6myTOSTttIl46UBTfY=";
11+
url = "https://filehost.perforce.com/perforce/r25.2/bin.macosx12x86_64/p4api-openssl1.1.1.tgz";
12+
hash = "sha256-A/oBv5vcxKp77Bfv/L8AmWPvwOn7AKvcbwp8Jq5I+JE=";
1313
};
1414
x86_64-linux = fetchzip {
1515
name = "helix-core-api";
16-
url = "https://filehost.perforce.com/perforce/r23.1/bin.linux26x86_64/p4api-glibc2.3-openssl1.1.1.tgz";
17-
hash = "sha256-891vpiR0Ni3ntdHvsQ4hviS/et2YKDBgIg3bGQ0xFI0=";
16+
url = "https://filehost.perforce.com/perforce/r25.2/bin.linux26x86_64/p4api-glibc2.3-openssl1.1.1.tgz";
17+
hash = "sha256-UgC8ENS6jCRDBjznuwr4DbkirFHr6SS1Ay4NEWkmykU=";
1818
};
1919
};
2020
"3.0" = {
2121
aarch64-darwin = fetchzip {
2222
name = "helix-core-api";
23-
url = "https://filehost.perforce.com/perforce/r23.1/bin.macosx12arm64/p4api-openssl3.tgz";
24-
hash = "sha256-dCeOGcJ3+wHwFFL03J+KwpDHB+Kx0IdQxJ82IBScJXA=";
23+
url = "https://filehost.perforce.com/perforce/r25.2/bin.macosx12arm64/p4api-openssl3.tgz";
24+
hash = "sha256-ab6wYii7X2qlStQrS4dKXGkHbURkEA4q1o5nwFxtkbg=";
2525
};
2626
x86_64-darwin = fetchzip {
2727
name = "helix-core-api";
28-
url = "https://filehost.perforce.com/perforce/r23.1/bin.macosx12x86_64/p4api-openssl3.tgz";
29-
hash = "sha256-esmStuzKcpLcw18pTzsR1ZQUfoEqLhOw0yIZxFFlgu0=";
28+
url = "https://filehost.perforce.com/perforce/r25.2/bin.macosx12x86_64/p4api-openssl3.tgz";
29+
hash = "sha256-yi1OrOXK5zpjWbXAwb/TNmB46y+sx3d3HIyJ10P5wfA=";
3030
};
3131
x86_64-linux = fetchzip {
3232
name = "helix-core-api";
33-
url = "https://filehost.perforce.com/perforce/r23.1/bin.linux26x86_64/p4api-glibc2.3-openssl3.tgz";
34-
hash = "sha256-OAR11FKkulpoReMGnDQwFOeJtF+WA/4lxWMqrSNiLPI=";
33+
url = "https://filehost.perforce.com/perforce/r25.2/bin.linux26x86_64/p4api-glibc2.3-openssl3.tgz";
34+
hash = "sha256-Edo4gVmn0JuR/twVEYA9oekC4GXQpV1PlH24j7jyLh4=";
3535
};
3636
};
3737
}

0 commit comments

Comments
 (0)