Merge branch 'master' into sta_write_verilog_fix

This commit is contained in:
dsengupta0628 2026-02-18 18:55:00 +00:00
commit df47d538b5
9 changed files with 175 additions and 32 deletions

34
.github/workflows/on-delete.yml vendored Normal file
View File

@ -0,0 +1,34 @@
name: Cleanup staging branch on delete
on:
delete:
env:
ROT13_STAGING_OWNER: ${{ secrets.ROT13_STAGING_OWNER }}
ROT13_UPSTREAM_OWNER: ${{ secrets.ROT13_UPSTREAM_OWNER }}
ROT13_UPSTREAM_BRANCH: ${{ secrets.ROT13_UPSTREAM_BRANCH }}
jobs:
Delete-From-Staging:
name: Delete branch from staging
runs-on: ${{ vars.USE_SELF_HOSTED == 'true' && 'self-hosted' || 'ubuntu-latest' }}
permissions:
# Read-only access so we don't accidentally try to push to *this* repository.
contents: read
# Only run on the private repository.
if: github.event.repository.private
steps:
- name: Detect configuration.
uses: The-OpenROAD-Project/actions/auto_config@main
- name: Delete branch from staging repository.
uses: The-OpenROAD-Project/actions/delete_from@main
continue-on-error: true
with:
owner: ${{ env.STAGING_OWNER }}
repo: ${{ env.STAGING_REPO }}
branch: ${{ env.STAGING_BRANCH }}
deployToken: ${{ secrets.STAGING_GITHUB_TOKEN }}

64
.github/workflows/on-label.yml vendored Normal file
View File

@ -0,0 +1,64 @@
name: Labelled Ready to Sync Public
on:
pull_request:
types: [labeled]
env:
ROT13_STAGING_OWNER: ${{ secrets.ROT13_STAGING_OWNER }}
ROT13_UPSTREAM_OWNER: ${{ secrets.ROT13_UPSTREAM_OWNER }}
ROT13_UPSTREAM_BRANCH: ${{ secrets.ROT13_UPSTREAM_BRANCH }}
jobs:
Push-To-Staging:
name: Push to staging
runs-on: ${{ vars.USE_SELF_HOSTED == 'true' && 'self-hosted' || 'ubuntu-latest' }}
permissions:
# Read-only access so we don't accidentally try to push to *this* repository.
contents: read
# Pull request write access, so we can remove the label.
issues: write
pull-requests: write
# Deployment write access, so we can add the nice deployment info.
deployments: write
# Only run on the private repository.
if: github.event.repository.private && github.event.label.name == 'Ready To Sync Public'
steps:
- name: Detect configuration
uses: The-OpenROAD-Project/actions/auto_config@main
- name: Removing label '${{ github.event.label.name }}'
uses: The-OpenROAD-Project/actions/remove_label@main
continue-on-error: true
- name: Clone repository
uses: The-OpenROAD-Project/actions/clone_from@main
with:
branch: ${{ env.PRIVATE_BRANCH }}
checkout: true
- name: Run security scan
uses: The-OpenROAD-Project/actions/security_scan_on_push@main
- name: Push to staging repository.
uses: The-OpenROAD-Project/actions/push_to@main
with:
owner: ${{ env.STAGING_OWNER }}
repo: ${{ env.STAGING_REPO }}
branch: ${{ env.STAGING_BRANCH }}
deployToken: ${{ secrets.STAGING_GITHUB_TOKEN }}
force: true
- id: send_pr
name: Create PR if needed.
uses: The-OpenROAD-Project/actions/send_pr@main
env:
STAGING_GITHUB_TOKEN: ${{ secrets.STAGING_GITHUB_TOKEN }}
- name: Linking to PR using deployment.
uses: The-OpenROAD-Project/actions/link_pr@main
env:
GITHUB_TOKEN: ${{ github.token }}
UPSTREAM_PR: ${{ steps.send_pr.outputs.pr }}

16
.github/workflows/on-push.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Scan Code with pre commit trigger
on:
push:
pull_request:
branches:
- master
jobs:
Security-Scan:
runs-on: ${{ vars.USE_SELF_HOSTED == 'true' && 'self-hosted' || 'ubuntu-latest' }}
steps:
- name: Check out repository code
uses: actions/checkout@v6
- name: run security_scan_on_push
uses: The-OpenROAD-Project/actions/security_scan_on_push@main

View File

@ -0,0 +1,46 @@
name: Automatically sync branch from upstream.
on:
schedule:
- cron: "*/5 * * * *"
workflow_dispatch:
inputs:
force:
description: Use GitHub --force push.
default:
repository_dispatch:
jobs:
Sync-Branch-From-Upstream:
name: Automatic sync 'master' from The-OpenROAD-Project/OpenSTA
runs-on: ${{ vars.USE_SELF_HOSTED == 'true' && 'self-hosted' || 'ubuntu-latest' }}
# Only allow one action to run at a time.
concurrency: sync-branch-from-upstream
# Action needs no permissions, as push is granted via adding a deploy key
# with write access to the $DEPLOY_KEY secret.
permissions:
contents: read
# Don't run on the upstream repository and only run on the right branch.
if: ${{ (github.repository != 'The-OpenROAD-Project/OpenSTA') && endsWith(github.ref, '/master') }}
steps:
- uses: The-OpenROAD-Project/actions/upstream_sync@main
env:
HAS_DEPLOY_KEY: ${{ !!(secrets.DEPLOY_KEY) }}
if: ${{ env.HAS_DEPLOY_KEY == 'true' }}
with:
upstreamRepo: The-OpenROAD-Project/OpenSTA
upstreamBranch: master
# To always overwrite master branch, set UPSTREAM_SYNC to the exact
# string 'always overwrite master branch'.
# You can also manually trigger a workflow dispatch with the force
# value equal to 'true'.
force: ${{ github.event.inputs.force || (secrets.UPSTREAM_SYNC == 'always overwrite master branch') }}
deployKey: ${{ secrets.DEPLOY_KEY }}

View File

@ -23,13 +23,20 @@
# This notice may not be removed or altered from any source distribution.
cmake_minimum_required (VERSION 3.10)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
# Use standard target names
cmake_policy(SET CMP0078 NEW)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.12)
# Use <PACKAGENAME>_ROOT in find_package
cmake_policy(SET CMP0074 NEW)
endif()
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
# Use standard target names
cmake_policy(SET CMP0078 NEW)
endif()
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.14)
# Allows SWIG_MODULE_NAME to be set
cmake_policy(SET CMP0086 NEW)
# Allows SWIG_MODULE_NAME to be set
cmake_policy(SET CMP0086 NEW)
endif()
project(STA VERSION 2.7.0

17
Jenkinsfile vendored
View File

@ -1,15 +1,4 @@
pipeline {
agent any
stages {
stage('Build') {
steps {
sh './jenkins/build.sh'
}
}
stage('Test') {
steps {
sh './jenkins/test.sh'
}
}
}
@Library('utils@main') _
node() {
pipelineOpenSTA()
}

View File

@ -1,5 +0,0 @@
#!/bin/bash
set -x
set -e
cmake -B build .
cmake --build build -j 8

View File

@ -1,7 +0,0 @@
#!/bin/bash
set -x
set -e
mkdir -p /OpenSTA/build
cd /OpenSTA/build
cmake ..
make -j 4

View File

@ -1 +0,0 @@
docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd):/OpenSTA openroad/opensta bash -c "/OpenSTA/test/regression"