Skip to content

Testing rust, c++ vs python3.12 BUILD Bob Build (24) #23

Testing rust, c++ vs python3.12 BUILD Bob Build (24)

Testing rust, c++ vs python3.12 BUILD Bob Build (24) #23

Workflow file for this run

name: Compile and Release
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
name: Build and Release
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Set up C++ and dependencies
run: |
sudo apt-get update
sudo apt-get install -y g++-10 libcurl4-openssl-dev
- name: Build Rust script
run: |
cd tools/sort_lists_project
cargo build --release
ls -la target/release
- name: Run Rust tests
run: |
cd tools/sort_lists_project
cargo test
- name: Build C++ script
run: |
g++-10 -std=c++20 -O3 tools/sort_records.cpp -o tools/sort_records_bin -lcurl
ls -la tools
- name: Upload Rust binary
uses: actions/upload-artifact@v3
with:
name: sort_lists_rs
path: tools/sort_lists_project/target/release/matrix
- name: Upload C++ binary
uses: actions/upload-artifact@v3
with:
name: sort_records_cpp
path: tools/sort_records_bin
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v1.0.${{ github.run_number }}
release_name: Release v1.0.${{ github.run_number }}
draft: false
prerelease: false
- name: Set release URL
run: echo "RELEASE_URL=${{ steps.create_release.outputs.upload_url }}" >> $GITHUB_ENV
- name: Upload Rust binary to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_URL }}
asset_path: tools/sort_lists_project/target/release/matrix
asset_name: sort_lists_rs
asset_content_type: application/octet-stream
- name: Upload C++ binary to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_URL }}
asset_path: tools/sort_records_bin
asset_name: sort_records_cpp
asset_content_type: application/octet-stream