mirror of
https://github.com/mendableai/firecrawl.git
synced 2024-11-15 19:22:19 +08:00
workflows/ci
tested e2e and it's working
This commit is contained in:
parent
7f8953e9d6
commit
4d39025e82
42
.github/archive/publish-rust-sdk.yml
vendored
Normal file
42
.github/archive/publish-rust-sdk.yml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
name: Publish Rust SDK
|
||||||
|
|
||||||
|
on: []
|
||||||
|
|
||||||
|
env:
|
||||||
|
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Rust
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
default: true
|
||||||
|
profile: minimal
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: cargo build --release
|
||||||
|
|
||||||
|
- name: Run version check script
|
||||||
|
id: version_check_script
|
||||||
|
run: |
|
||||||
|
VERSION_INCREMENTED=$(cargo search --limit 1 my_crate_name | grep my_crate_name)
|
||||||
|
echo "VERSION_INCREMENTED=$VERSION_INCREMENTED" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build the package
|
||||||
|
if: ${{ env.VERSION_INCREMENTED == 'true' }}
|
||||||
|
run: cargo package
|
||||||
|
working-directory: ./apps/rust-sdk
|
||||||
|
|
||||||
|
- name: Publish to crates.io
|
||||||
|
if: ${{ env.VERSION_INCREMENTED == 'true' }}
|
||||||
|
env:
|
||||||
|
CARGO_REG_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
|
||||||
|
run: cargo publish
|
||||||
|
working-directory: ./apps/rust-sdk
|
20
.github/scripts/check_version_has_incremented.py
vendored
20
.github/scripts/check_version_has_incremented.py
vendored
|
@ -15,6 +15,7 @@ false
|
||||||
|
|
||||||
"""
|
"""
|
||||||
import json
|
import json
|
||||||
|
import toml
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
@ -53,6 +54,19 @@ def get_npm_version(package_name: str) -> str:
|
||||||
version = response.json()['version']
|
version = response.json()['version']
|
||||||
return version.strip()
|
return version.strip()
|
||||||
|
|
||||||
|
def get_rust_version(file_path: str) -> str:
|
||||||
|
"""Extract version string from Cargo.toml."""
|
||||||
|
cargo_toml = toml.load(file_path)
|
||||||
|
if 'package' in cargo_toml and 'version' in cargo_toml['package']:
|
||||||
|
return cargo_toml['package']['version'].strip()
|
||||||
|
raise RuntimeError("Unable to find version string in Cargo.toml.")
|
||||||
|
|
||||||
|
def get_crates_version(package_name: str) -> str:
|
||||||
|
"""Get latest version of Rust package from crates.io."""
|
||||||
|
response = requests.get(f"https://crates.io/api/v1/crates/{package_name}")
|
||||||
|
version = response.json()['crate']['newest_version']
|
||||||
|
return version.strip()
|
||||||
|
|
||||||
def is_version_incremented(local_version: str, published_version: str) -> bool:
|
def is_version_incremented(local_version: str, published_version: str) -> bool:
|
||||||
"""Compare local and published versions."""
|
"""Compare local and published versions."""
|
||||||
local_version_parsed: Version = parse_version(local_version)
|
local_version_parsed: Version = parse_version(local_version)
|
||||||
|
@ -74,6 +88,12 @@ if __name__ == "__main__":
|
||||||
current_version = get_js_version(os.path.join(package_path, 'package.json'))
|
current_version = get_js_version(os.path.join(package_path, 'package.json'))
|
||||||
# Get published version from npm
|
# Get published version from npm
|
||||||
published_version = get_npm_version(package_name)
|
published_version = get_npm_version(package_name)
|
||||||
|
if package_type == "rust":
|
||||||
|
# Get current version from Cargo.toml
|
||||||
|
current_version = get_rust_version(os.path.join(package_path, 'Cargo.toml'))
|
||||||
|
# Get published version from crates.io
|
||||||
|
published_version = get_crates_version(package_name)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise ValueError("Invalid package type. Use 'python' or 'js'.")
|
raise ValueError("Invalid package type. Use 'python' or 'js'.")
|
||||||
|
|
||||||
|
|
3
.github/scripts/requirements.txt
vendored
3
.github/scripts/requirements.txt
vendored
|
@ -1,2 +1,3 @@
|
||||||
requests
|
requests
|
||||||
packaging
|
packaging
|
||||||
|
toml
|
35
.github/workflows/fly.yml
vendored
35
.github/workflows/fly.yml
vendored
|
@ -298,3 +298,38 @@ jobs:
|
||||||
npm run build-and-publish
|
npm run build-and-publish
|
||||||
working-directory: ./apps/js-sdk/firecrawl
|
working-directory: ./apps/js-sdk/firecrawl
|
||||||
|
|
||||||
|
build-and-publish-rust-sdk:
|
||||||
|
name: Build and publish Rust SDK
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Rust
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
default: true
|
||||||
|
profile: minimal
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: cargo build --release
|
||||||
|
|
||||||
|
- name: Run version check script
|
||||||
|
id: version_check_script
|
||||||
|
run: |
|
||||||
|
VERSION_INCREMENTED=$(cargo search --limit 1 my_crate_name | grep my_crate_name)
|
||||||
|
echo "VERSION_INCREMENTED=$VERSION_INCREMENTED" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build the package
|
||||||
|
if: ${{ env.VERSION_INCREMENTED == 'true' }}
|
||||||
|
run: cargo package
|
||||||
|
working-directory: ./apps/rust-sdk
|
||||||
|
|
||||||
|
- name: Publish to crates.io
|
||||||
|
if: ${{ env.VERSION_INCREMENTED == 'true' }}
|
||||||
|
env:
|
||||||
|
CARGO_REG_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
|
||||||
|
run: cargo publish
|
||||||
|
working-directory: ./apps/rust-sdk
|
Loading…
Reference in New Issue
Block a user