Bump actions/upload-artifact from 4.3.1 to 4.3.2 #483
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: VERDICT Main Workflow | |
# Runs whenever the main branch is changed (except for tags) | |
on: | |
push: | |
branches: [ master ] | |
tags-ignore: [ '*' ] | |
workflow_dispatch: | |
# Runs main workflow and uploads build artifacts: | |
# - Builds & uploads soteria_pp native binaries | |
# - Builds VERDICT source and runs unit tests | |
# - Pushes verdict-dev image to Docker Hub | |
# - Updates verdict-dev in VERDICT-update-sites | |
jobs: | |
native-binaries: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
ocaml-compiler: [ 4.09.1 ] | |
os: [ macos-12, ubuntu-22.04 ] | |
steps: | |
- name: Check out VERDICT source | |
uses: actions/checkout@v4.1.2 | |
- name: Set up OCaml | |
uses: ocaml/setup-ocaml@v2.2.8 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Build soteria_pp | |
run: | | |
cd tools/verdict-back-ends/soteria_pp | |
opam install --yes . --deps-only | |
opam exec make | |
- name: Upload soteria_pp | |
uses: actions/upload-artifact@v4.3.2 | |
with: | |
name: ${{ runner.os }}-binaries | |
path: tools/verdict-back-ends/soteria_pp/bin/soteria_pp | |
main: | |
needs: native-binaries | |
container: | |
image: maven:${{ matrix.maven-version }} | |
volumes: | |
- /usr/bin/docker:/usr/bin/docker | |
- /var/run/docker.sock:/var/run/docker.sock | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
distribution: [ temurin ] | |
java-version: [ 17 ] | |
maven-version: [ 3.9.5 ] | |
os: [ ubuntu-22.04 ] | |
steps: | |
- name: Check out VERDICT source | |
uses: actions/checkout@v4.1.2 | |
- name: Set up Java and Maven | |
uses: actions/setup-java@v4.2.1 | |
with: | |
cache: maven | |
distribution: ${{ matrix.distribution }} | |
java-version: ${{ matrix.java-version }} | |
- name: Build VERDICT source | |
run: | | |
mvn -B install -f tools/verdict-back-ends/verdict-bundle/z3-native-libs/pom.xml | |
mvn -B package -f tools/pom.xml -Dtycho.localArtifacts=ignore | |
- name: Download soteria_pp | |
uses: actions/download-artifact@v4.1.4 | |
with: | |
name: ${{ runner.os }}-binaries | |
path: tools/verdict-back-ends/soteria_pp/bin | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3.1.0 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3.3.0 | |
- name: Build and push verdict-dev image | |
uses: docker/build-push-action@v5.3.0 | |
with: | |
context: tools/verdict-back-ends | |
file: tools/verdict-back-ends/Dockerfile | |
push: true | |
cache-from: type=registry,ref=gehighassurance/verdict-dev:latest | |
cache-to: type=inline | |
tags: gehighassurance/verdict-dev:latest | |
- name: Check out VERDICT-update-sites | |
uses: actions/checkout@v4.1.2 | |
with: | |
repository: ge-high-assurance/VERDICT-update-sites | |
token: ${{ secrets.CI_PAT }} | |
path: VERDICT-update-sites | |
- name: Update verdict-dev in VERDICT-update-sites | |
run: | | |
cd VERDICT-update-sites | |
rm -rf verdict-dev | |
mv ../tools/verdict/com.ge.research.osate.verdict.updatesite/target/repository verdict-dev | |
git config user.name github-actions | |
git config user.email github-actions@github.com | |
git add . | |
git commit -m "Update verdict-dev in VERDICT-update-sites" | |
git push |