From ff5509f65b17bfa4068d5336495ab1718987ff69 Mon Sep 17 00:00:00 2001 From: Mohamed Gaber Date: Mon, 15 Sep 2025 21:32:40 +0300 Subject: [PATCH] hotfix: fix venv target, ci docker pushes Signed-off-by: Mohamed Gaber --- .github/workflows/lint.yml | 22 ------------------- .github/workflows/openlane_ci.yml | 14 ++++++------ CONTRIBUTING.md | 6 +---- Makefile | 12 +++++----- README.md | 5 +++-- docs/source/for_developers/gha_workflow.md | 20 +---------------- requirements_dev.txt | 2 -- requirements_lint.txt | 3 --- .../{openlane-1.0.1.tm => openlane-1.0.2.tm} | 0 ...utils-1.0.1.tm => openlane_utils-1.0.2.tm} | 0 10 files changed, 18 insertions(+), 66 deletions(-) delete mode 100644 .github/workflows/lint.yml delete mode 100644 requirements_dev.txt delete mode 100644 requirements_lint.txt rename scripts/{openlane-1.0.1.tm => openlane-1.0.2.tm} (100%) rename scripts/{openlane_utils-1.0.1.tm => openlane_utils-1.0.2.tm} (100%) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index bd5d69bf..00000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -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 . diff --git a/.github/workflows/openlane_ci.yml b/.github/workflows/openlane_ci.yml index 7d9a8e77..69802ea8 100644 --- a/.github/workflows/openlane_ci.yml +++ b/.github/workflows/openlane_ci.yml @@ -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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dd7afc98..72c69ee7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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. \ No newline at end of file +Please note all code contributions must have the same license as OpenLane, i.e., the Apache License, version 2.0. diff --git a/Makefile b/Makefile index 872629cf..f6436004 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/README.md b/README.md index ec63ffa4..0ea37e41 100644 --- a/README.md +++ b/README.md @@ -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.)

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. diff --git a/docs/source/for_developers/gha_workflow.md b/docs/source/for_developers/gha_workflow.md index c8000244..5b4b23c3 100644 --- a/docs/source/for_developers/gha_workflow.md +++ b/docs/source/for_developers/gha_workflow.md @@ -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. diff --git a/requirements_dev.txt b/requirements_dev.txt deleted file mode 100644 index 2edf6e4f..00000000 --- a/requirements_dev.txt +++ /dev/null @@ -1,2 +0,0 @@ --r ./requirements.txt --r ./requirements_lint.txt diff --git a/requirements_lint.txt b/requirements_lint.txt deleted file mode 100644 index 5e225732..00000000 --- a/requirements_lint.txt +++ /dev/null @@ -1,3 +0,0 @@ -black>=25,<26 -flake8>=7.3.0,<8 -flake8-no-implicit-concat diff --git a/scripts/openlane-1.0.1.tm b/scripts/openlane-1.0.2.tm similarity index 100% rename from scripts/openlane-1.0.1.tm rename to scripts/openlane-1.0.2.tm diff --git a/scripts/openlane_utils-1.0.1.tm b/scripts/openlane_utils-1.0.2.tm similarity index 100% rename from scripts/openlane_utils-1.0.1.tm rename to scripts/openlane_utils-1.0.2.tm