feat: add Swift implementation of isspam (sisspam) with CI build and benchmark integration
- Add swift_isspam package with optimized main.swift using unsafe memory flags - Extend CI workflow to install Swift 5.9.2 and include sisspam in build_all and benchmark - Update Makefile with build_swift target and publish step for sisspam binary - Add sisspam to .gitignore and README with author credit - Enable Swift timing in bench.py alongside existing language implementations
This commit is contained in:
@@ -7,13 +7,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: apt update
|
||||
- run: apt install build-essential valgrind make curl -y
|
||||
- run: apt install build-essential valgrind make curl wget libcurl4-openssl-dev libxml2-dev binutils libc6-dev libgcc-s1 libstdc++6 zlib1g-dev -y
|
||||
- run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain nightly -y
|
||||
- name: Install Swift
|
||||
run: |
|
||||
cd /opt
|
||||
wget -q https://download.swift.org/swift-5.9.2-release/ubuntu2204/swift-5.9.2-RELEASE/swift-5.9.2-RELEASE-ubuntu22.04.tar.gz
|
||||
tar xzf swift-5.9.2-RELEASE-ubuntu22.04.tar.gz
|
||||
ln -s /opt/swift-5.9.2-RELEASE-ubuntu22.04/usr/bin/swift /usr/local/bin/swift
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: List files in the repository
|
||||
run: |
|
||||
ls ${{ gitea.workspace }}
|
||||
- run: export PATH=$HOME/.cargo/bin:$PATH && make build_all
|
||||
- run: export PATH=$HOME/.cargo/bin:$PATH && make benchmark
|
||||
- run: export PATH=$HOME/.cargo/bin:/opt/swift-5.9.2-RELEASE-ubuntu22.04/usr/bin:$PATH && make build_all
|
||||
- run: export PATH=$HOME/.cargo/bin:/opt/swift-5.9.2-RELEASE-ubuntu22.04/usr/bin:$PATH && make benchmark
|
||||
- run: make publish
|
||||
|
||||
Reference in New Issue
Block a user