Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 0 additions & 39 deletions .github/scripts/generate_tag.py

This file was deleted.

137 changes: 0 additions & 137 deletions .github/scripts/gh.py

This file was deleted.

71 changes: 45 additions & 26 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,30 @@ name: CI
on:
push:
branches:
- "*"
- "main"
pull_request:

concurrency:
# Behavior:
# - Group all pull requests: latest push cancels previous ones
# - Group all branches:
# - If main/version- branches: run serially
# - Else, latest push cancels previous ones
group: >
${{
(github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number)) ||
(github.event_name == 'push' && format('branch-{0}', github.ref_name)) ||
''
}}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
lint:
name: Lint Python Code
runs-on: ubuntu-24.04
steps:
- name: Check out Git repository
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Install Linters
run: make venv
- name: Lint
Expand All @@ -24,7 +38,7 @@ jobs:
needs: lint
steps:
- name: Check Git repository
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Set Up Python
uses: actions/setup-python@v4
with:
Expand Down Expand Up @@ -66,46 +80,51 @@ jobs:
runs-on: ubuntu-24.04
if: github.event_name == 'push' && github.ref_name == 'main'
outputs:
new_tag: ${{ steps.new_tag.outputs.new_tag }}
version: ${{ steps.get_version.outputs.version }}
steps:
- name: Check out Git repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Export Repo URL
run: echo "REPO_URL=https://github.com/${{ github.repository }}" >> $GITHUB_ENV
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.8"
- name: Set default for env.NEW_TAG
run: echo "NEW_TAG=NO_NEW_TAG" >> $GITHUB_ENV
- name: Check for new version
- id: get_version
name: Extract new version
run: |
make venv
cd ${GITHUB_WORKSPACE}/ && ./venv/bin/python3 .github/scripts/generate_tag.py
- id: new_tag
name: Set new tag as job output
run: |
echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
VERSION="$(perl -ne 'print $1 if /^version\s*=\s*\"(.+?)\"/' pyproject.toml)"
if ! gh release view $VERSION 2>&1 > /dev/null; then
echo "Uploading new version $VERSION if CI passes."
echo "version=$VERSION" >> $GITHUB_OUTPUT
fi
publish:
name: Publish
runs-on: ubuntu-24.04
needs: [lint, build, test, check_new_version]
if: needs.check_new_version.outputs.new_tag != 'NO_NEW_TAG'
if: needs.check_new_version.outputs.version != ''
environment: pypi
permissions:
# IMPORTANT: this permission is mandatory for Trusted Publishing
id-token: write
contents: write
steps:
- uses: actions/download-artifact@v8
with:
name: wheel
path: ./dist
- name: Tag Commit
uses: tvdias/github-tagger@v0.0.1
with:
tag: "${{ needs.check_new_version.outputs.new_tag }}"
repo-token: "${{ secrets.BOT_TOKEN }}"
# 2nd to last because it is immutable but likely to fail, so if it fails
# I don't want PyPI publishing
- name: Create release
run: |
prerelease_arg=()
version="${{ needs.check_new_version.outputs.version }}"
if [[ "$version" = *b* ]] || [[ "$version" = *a* ]] || [[ "$version" = *.dev* ]] || [[ "$version" = *rc* ]]; then
prerelease_arg+=( "--prerelease" )
fi

gh release create $version \
--generate-notes \
--target "${{ github.ref_name }}" \
"${prerelease_arg[@]}" \
./dist/*
env:
GH_TOKEN: ${{ github.token }}
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
14 changes: 14 additions & 0 deletions Authors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Authors

All categories arranged alphabetically.

> This list may be non-exhaustive and primarily reflects copyright holders for
> significant portions of the code. See
> https://github.com/librelane/librelane/graphs/contributors for a full list of
> human authors.

* Efabless Corporation \<https://efabless.com\> (until February 2023)
* Mohamed Gaber \<donn@efabless.com\>
* Kareem Farid \<kareem.farid@efabless.com\>
* Leo Moser \<leo.moser@pm.me\>
* Mohamed Gaber \<me@donn.website\>
9 changes: 0 additions & 9 deletions OSAcknowledgements

This file was deleted.

4 changes: 2 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ ciel --version
# About the builds
In its current inception, ciel supports builds of **sky130** and **gf180mcu** PDKs using [Open-PDKs](https://github.com/rtimothyedwards/open_pdks), including the following libraries:

|sky130|gf180mcu|ihp-sg13g2|
|sky130|gf180mcu|ihp-sg13|
|-|-|-|
|sky130_fd_io|gf180mcu_fd_io|sg13g2_io|
|sky130_fd_pr|gf180mcu_fd_pr|sg13g2_pr|
|sky130_fd_pr_reram|gf180mcu_fd_pr|sg13g2_pr|
|sky130_fd_pr_reram|-|-|
|sky130_fd_sc_hd|gf180mcu_fd_sc_mcu7t5v0|sg13g2_stdcell|
|sky130_ml_xx_hd|gf180mcu_fd_sc_mcu9t5v0|-|
|sky130_fd_sc_hvl|gf180mcu_osu_sc_gp9t3v3|-|
Expand Down
11 changes: 9 additions & 2 deletions ciel/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Copyright 2026 Ciel Contributors
#
# Adapted from the Volare Project
#
# Copyright 2022-2023 Efabless Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -14,14 +18,17 @@
from .manage import (
VersionNotFound,
enable,
get,
fetch,
)
from .common import (
get_ciel_home,
Version,
)
from .families import Family
from .families import (
Family,
resolve_pdk_family,
resolve_pdk_variant,
)
from .github import (
GitHubSession,
)
Expand Down
Loading
Loading