cotim 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cotim-0.1.2/.github/workflows/build.yml +38 -0
- cotim-0.1.2/.github/workflows/release.yml +87 -0
- cotim-0.1.2/.gitignore +3 -0
- cotim-0.1.2/Cargo.lock +1022 -0
- cotim-0.1.2/Cargo.toml +19 -0
- cotim-0.1.2/LICENSE.md +7 -0
- cotim-0.1.2/PKG-INFO +5 -0
- cotim-0.1.2/README.md +62 -0
- cotim-0.1.2/pyproject.toml +11 -0
- cotim-0.1.2/src/generator.rs +403 -0
- cotim-0.1.2/src/lib.rs +18 -0
- cotim-0.1.2/src/main.rs +27 -0
- cotim-0.1.2/src/parser.rs +494 -0
- cotim-0.1.2/tests/all.rs +4 -0
- cotim-0.1.2/tests/tests/invert.rs +160 -0
- cotim-0.1.2/tests/tests/mod.rs +1 -0
- cotim-0.1.2/tests/utils/commands.rs +135 -0
- cotim-0.1.2/tests/utils/mod.rs +2 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master ]
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
CARGO_TERM_COLOR: always
|
|
11
|
+
RUST_BACKTRACE: 1
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
build:
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
matrix:
|
|
18
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v6
|
|
21
|
+
|
|
22
|
+
- name: Install Verilator
|
|
23
|
+
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
24
|
+
run: >
|
|
25
|
+
sudo apt-get install verilator
|
|
26
|
+
|
|
27
|
+
- name: Versions
|
|
28
|
+
run: |
|
|
29
|
+
git version
|
|
30
|
+
cargo version
|
|
31
|
+
|
|
32
|
+
- name: Build
|
|
33
|
+
run: cargo build
|
|
34
|
+
|
|
35
|
+
# Only Ubuntu has verilator installed currently.
|
|
36
|
+
- name: Run tests
|
|
37
|
+
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
38
|
+
run: cargo test
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- '*.*.*'
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
CARGO_TERM_COLOR: always
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
matrix:
|
|
18
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
19
|
+
include:
|
|
20
|
+
- os: ubuntu-latest
|
|
21
|
+
cargo_extra_flags: --target x86_64-unknown-linux-musl
|
|
22
|
+
output_executable: target/x86_64-unknown-linux-musl/release/cotim
|
|
23
|
+
output_executable_upload_as: cotim-linux
|
|
24
|
+
- os: macos-latest
|
|
25
|
+
output_executable: target/release/cotim
|
|
26
|
+
output_executable_upload_as: cotim-mac
|
|
27
|
+
- os: windows-latest
|
|
28
|
+
output_executable: target/release/cotim.exe
|
|
29
|
+
output_executable_upload_as: cotim-windows.exe
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v6
|
|
32
|
+
|
|
33
|
+
- name: Install Musl target
|
|
34
|
+
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
35
|
+
run: >
|
|
36
|
+
sudo apt-get install musl-tools &&
|
|
37
|
+
rustup target add x86_64-unknown-linux-musl &&
|
|
38
|
+
musl-gcc --version
|
|
39
|
+
|
|
40
|
+
- name: Install the latest version of uv
|
|
41
|
+
uses: astral-sh/setup-uv@v7
|
|
42
|
+
|
|
43
|
+
- name: Versions
|
|
44
|
+
run: cargo --version && rustc --version
|
|
45
|
+
|
|
46
|
+
- name: Build
|
|
47
|
+
run: cargo build --verbose --release --locked ${{ matrix.cargo_extra_flags }}
|
|
48
|
+
|
|
49
|
+
- name: Build wheel
|
|
50
|
+
run: |
|
|
51
|
+
uv tool install maturin
|
|
52
|
+
maturin build --release --strip --locked ${{ matrix.cargo_extra_flags }}
|
|
53
|
+
|
|
54
|
+
- name: Upload wheel
|
|
55
|
+
uses: actions/upload-artifact@v6
|
|
56
|
+
with:
|
|
57
|
+
name: wheel-${{ matrix.os }}
|
|
58
|
+
path: target/wheels/*.whl
|
|
59
|
+
|
|
60
|
+
- name: Rename Output
|
|
61
|
+
shell: pwsh
|
|
62
|
+
run: Move-Item -Path "${{ matrix.output_executable }}" -Destination "target/${{ matrix.output_executable_upload_as }}"
|
|
63
|
+
|
|
64
|
+
- name: Release
|
|
65
|
+
uses: softprops/action-gh-release@v2
|
|
66
|
+
env:
|
|
67
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
68
|
+
with:
|
|
69
|
+
files: "target/${{ matrix.output_executable_upload_as }}"
|
|
70
|
+
fail_on_unmatched_files: true
|
|
71
|
+
|
|
72
|
+
pypi-publish:
|
|
73
|
+
name: Upload release to PyPI
|
|
74
|
+
needs: build
|
|
75
|
+
runs-on: ubuntu-latest
|
|
76
|
+
permissions:
|
|
77
|
+
# Required for PyPI OpenID Connect.
|
|
78
|
+
id-token: write
|
|
79
|
+
steps:
|
|
80
|
+
- uses: actions/download-artifact@v4
|
|
81
|
+
with:
|
|
82
|
+
# Match upload-artifact 'name'.
|
|
83
|
+
pattern: wheel-*
|
|
84
|
+
path: dist
|
|
85
|
+
merge-multiple: true
|
|
86
|
+
|
|
87
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
cotim-0.1.2/.gitignore
ADDED