hotfix: fix venv target, ci docker pushes
Some checks failed
CI / Fetch or Build PDK (sky130A) (push) Has been cancelled
CI / Prepare Test Matrices (push) Has been cancelled
CI / Docker Build (amd64) (push) Has been cancelled
CI / Docker Build (arm64v8) (push) Has been cancelled
Documentation / Check Variables (push) Has been cancelled
CI / Regression Test (Test ${{ matrix.test }}) (push) Has been cancelled
CI / Test Design ${{ matrix.design.name }} (${{ matrix.design.pdk }}/${{matrix.design.scl}}) (push) Has been cancelled
CI / Cleanup (and Possibly Deployment) (push) Has been cancelled

Signed-off-by: Mohamed Gaber <me@donn.website>
This commit is contained in:
Mohamed Gaber
2025-09-15 21:32:40 +03:00
parent b729aa514c
commit ff5509f65b
10 changed files with 18 additions and 66 deletions

View File

@@ -1,22 +0,0 @@
name: Lint
on:
# Runs on all pushes to branches
push:
# Runs on all PRs
pull_request:
# Manual Dispatch
workflow_dispatch:
jobs:
lint_python:
name: Lint Python Code
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Linters
run: python3 -m pip install -r ./requirements_lint.txt
- name: Ensure Black Formatting
run: black --check .
- name: Lint with Flake8
run: flake8 .

View File

@@ -291,18 +291,18 @@ jobs:
run: |
echo "TAG_LIST=" >> $GITHUB_ENV
- name: Docker Tag (Main Branch Hashes)
if: ${{ env.PUSHING == '1' && github.event_name == 'push' && env.BRANCH_NAME == env.MAIN_BRANCH }}
run: |
echo "TAG_LIST=$TAG_LIST ${{ env.GIT_COMMIT_HASH }}" >> $GITHUB_ENV
- name: Docker Tag (Branches)
if: ${{ env.PUSHING == '1' && github.event_name == 'push' }}
run: |
echo "TAG_LIST=$TAG_LIST ${{ env.BRANCH_NAME }}" >> $GITHUB_ENV
- name: Docker Push (Version Tag/Latest)
if: ${{ env.PUSHING == '1' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && env.NEW_TAG != 'NO_NEW_TAG' }}
- name: Docker Tag (Main Branch Hashes)
if: ${{ env.PUSHING == '1' && github.event_name == 'push' && env.BRANCH_NAME == vars.MAIN_BRANCH }}
run: |
echo "TAG_LIST=$TAG_LIST ${{ env.GIT_COMMIT_HASH }}" >> $GITHUB_ENV
- name: Docker Push (Main Branch Tags/Latest)
if: ${{ env.PUSHING == '1' && github.event_name == 'push' && env.BRANCH_NAME == vars.MAIN_BRANCH && env.NEW_TAG != '' }}
run: |
echo "TAG_LIST=$TAG_LIST ${{ env.NEW_TAG }} latest" >> $GITHUB_ENV

View File

@@ -18,10 +18,6 @@ Please do not write new shell scripts, no matter how trivial.
### Python
Python code should run on Python 3.6+.
You will need to ensure that your Python code passes linting with the tools and plugins in [`requirements_lint.txt`](https://github.com/The-OpenROAD-Project/OpenLane/tree/master/requirements_lint.txt). The commands are simply `black .` and `flake8 .`. Please fix all warnings.
For new code, please follow [PEP-8 naming conventions](https://peps.python.org/pep-0008/#naming-conventions). The linters do not enforce them just yet because of the corpus of existing code that does not do that, but they will in the future.
Do all arithmetic either in integers or using the Python [`decimal`](https://docs.python.org/3.6/library/decimal.html) library. All (numerous) existing uses of IEEE-754 are bugs we are interested in fixing.
## Yosys, OpenROAD and Magic Scripts
@@ -49,4 +45,4 @@ For a PR to be merged, there are two requirements:
## Licensing and Copyright
Please add you (or your employer's) copyright headers to any files to which you have made major edits.
Please note all code contributions must have the same license as OpenLane, i.e., the Apache License, version 2.0.
Please note all code contributions must have the same license as OpenLane, i.e., the Apache License, version 2.0.

View File

@@ -91,19 +91,19 @@ ENV_COMMAND = $(ENV_START) $(OPENLANE_IMAGE_NAME)-$(DOCKER_ARCH)
all: get-openlane pdk
.PHONY: openlane
openlane: venv/created
openlane: venv/manifest.txt
@PYTHON_BIN=$(PWD)/venv/bin/$(PYTHON_BIN) $(MAKE) -C docker openlane
.PHONY: openlane-and-push-tools
openlane-and-push-tools: venv/created
@PYTHON_BIN=$(PWD)/venv/bin/$(PYTHON_BIN) BUILD_IF_CANT_PULL=1 BUILD_IF_CANT_PULL_THEN_PUSH=1 $(MAKE) -C docker openlane
pull-openlane:
@docker pull "$(OPENLANE_IMAGE_NAME)"
get-openlane:
@$(MAKE) pull-openlane || $(MAKE) openlane
pull-openlane:
@docker pull "$(OPENLANE_IMAGE_NAME)"
.PHONY: mount
mount:
cd $(OPENLANE_DIR) && \
@@ -128,11 +128,11 @@ start-build-env: venv/manifest.txt
bash -c "bash --rcfile <(cat ~/.bashrc ./venv/bin/activate)"
venv: venv/manifest.txt
venv/manifest.txt: ./requirements.txt ./requirements_dev.txt ./requirements_lint.txt ./dependencies/python/precompile_time.txt ./dependencies/python/run_time.txt
venv/manifest.txt: ./requirements.txt ./dependencies/python/precompile_time.txt ./dependencies/python/run_time.txt
rm -rf ./venv
$(PYTHON_BIN) -m venv ./venv
PYTHONPATH= ./venv/bin/$(PYTHON_BIN) -m pip install --upgrade --no-cache-dir pip
PYTHONPATH= ./venv/bin/$(PYTHON_BIN) -m pip install --upgrade --no-cache-dir -r ./requirements_dev.txt
PYTHONPATH= ./venv/bin/$(PYTHON_BIN) -m pip install --upgrade --no-cache-dir -r ./requirements.txt
PYTHONPATH= ./venv/bin/$(PYTHON_BIN) -m pip freeze > $@
DLTAG=custom_design_List

View File

@@ -4,9 +4,10 @@ The versions of OpenLane currently being offered and supported are currently
versions 1.0.X, as they were used for countless tape outs for the Google MPW and
Efabless chipIgnite shuttles. Only critical bugfixes will be merged at this
point. The intent is that tape-outs on older shuttles may be reproduced.
**OpenLane is not recommended for new projects or designs.**
For all newer designs, kindly check out the successor to the OpenLane flow,
the LibreLane flow infrastructure (which is backwards-compatible.)
For new designs, kindly check out the successor to the OpenLane flow, the
LibreLane flow infrastructure (which is backwards-compatible.)
<p align="center">
<a href="https://github.com/librelane/librelane"><img src="./docs/_static/librelane_banner.svg" width="80%" alt="LibreLane: Meet the successor to OpenLane — community-driven and rewritten from scratch with a modular architecture. Configure your designs using one file just like OpenLane, or use Python to implement advanced flows."></a>

View File

@@ -5,22 +5,4 @@ There are two primary flows: the pull request flow and the deployment flow.
The deployment flow occurs on each push, with an extended test set nightly. The PR flow happens whenever someone creates a new Pull Request. PRs can be created by contributors or by an automated tool updater that runs on a schedule.
* A maintainer cannot review their own code, but they can merge it after a review by another maintainer.
## Required Secrets/Variables
Repository secrets are used to protect certain credentials, while variables are repository-dependent parameters for the CI.
### Common
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `MAIN_BRANCH` | The main branch for OpenLane. Format: `main`|`master`|`etc` |
| Secret | Description |
|---------------|---------------------------------------------------------------|
| `BOT_TOKEN` | A GitHub token for a bot account that is able to create new tags on this repository. |
### CI
| Variable | Description |
|---------------|
| `DOCKER_IMAGE` | The name of the resulting Docker image (minus the tag). In our case, we use `ghcr.io/the-openroad-project/openlane`. |
| `TOOL_DOCKER_IMAGE` | The name of the resulting Docker images for tools (minus the tag). In our case, we use `ghcr.io/the-openroad-project/openlane-tools`. |
* A maintainer cannot review their own code, but they should merge it after a review by another maintainer.

View File

@@ -1,2 +0,0 @@
-r ./requirements.txt
-r ./requirements_lint.txt

View File

@@ -1,3 +0,0 @@
black>=25,<26
flake8>=7.3.0,<8
flake8-no-implicit-concat