Skip to content

Add bitwise operations for integer properties #5684

Add bitwise operations for integer properties

Add bitwise operations for integer properties #5684

Workflow file for this run

name: Continuous Integration
on:
workflow_dispatch:
pull_request:
branches-ignore:
- ci/ci-circt-nightly
push:
tags:
- '*'
branches:
- main
- '*.x'
jobs:
ci:
name: ci
strategy:
matrix:
system: ["ubuntu-24.04"]
jvm: [21]
scala: ["2.13", "3"]
uses: ./.github/workflows/test.yml
with:
system: ${{ matrix.system }}
jvm: ${{ matrix.jvm }}
scala: ${{ matrix.scala }}
# Sentinel job to simplify how we specify which checks need to pass in branch
# protection and in Mergify. This job checks that all matrix jobs were
# successful.
check-tests:
name: "check tests"
needs: ci
runs-on: ubuntu-24.04
outputs:
success: ${{ steps.setoutput.outputs.success }}
steps:
- id: setoutput
run: echo "success=true" >> $GITHUB_OUTPUT
# Related to check-tests above, this job _always_ runs (even if tests fail
# and thus check-steps is skipped). This two sentinel job approach avoids an
# issue where failing tests causes a single sentinel job to be skipped which
# counts as passing for purposes of branch protection.
#
# See: https://brunoscheufler.com/blog/2022-04-09-the-required-github-status-check-that-wasnt
all_tests_passed:
name: "all tests passed"
runs-on: ubuntu-24.04
if: always() # Always run so that we never skip this check
needs: check-tests
# Pass only if check-tests set its output value
steps:
- run: |
PASSED=${{ needs.check-tests.outputs.success }}
if [[ $PASSED == "true" ]]; then
echo "### All tests passed! :rocket:" >> $GITHUB_STEP_SUMMARY
exit 0
else
echo "### One or more tests FAILED! :bangbang:" >> $GITHUB_STEP_SUMMARY
exit 1
fi
# Publishes all cross versions so this job needs to be separate from a Scala
# versions build matrix to avoid duplicate publishing.
publish:
needs: [all_tests_passed]
runs-on: ubuntu-24.04
if: github.event_name == 'push'
steps:
- name: Checkout
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Cache Scala
uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d # v8.1.1
- name: Setup Scala
uses: VirtusLab/scala-cli-setup@30de070d5e5cf2ed93c79009c9a3b69e7bead234 # v1.17.0
with:
jvm: temurin:17
- name: Publish
run: .github/scripts/publish.sh
env:
MILL_PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
MILL_PGP_SECRET_BASE64: ${{ secrets.PGP_SECRET }}
MILL_SONATYPE_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MILL_SONATYPE_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
- run: |
VERSION=$(./mill show 'unipublish[].publishVersion' | tr -d \")
echo "Published version: $VERSION" >> $GITHUB_STEP_SUMMARY
deploy_website:
name: Deploy Website
runs-on: ubuntu-24.04
permissions:
contents: write
needs: [all_tests_passed]
# Only Deploy website on pushes to main, may change to a stable branch
if: (github.event_name == 'push') && (github.ref_name == 'main')
steps:
- name: Download built website
uses: actions/download-artifact@v8
with:
name: website
- name: Untar built website
run: tar zxf website.tar.gz
- name: Deploy Website to GitHub Pages (From Main Branch)
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: website/build