diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..cea6690 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +name: CI + +on: [push] + +env: + PIP_EXTRA_INDEX_URL: https://pypi.org/simple + MQSS_TOKEN: ${{ vars.MQSS_TOKEN }} + +jobs: + setup: + name: Setup Environment + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Install UV + run: curl -LsSf https://astral.sh/uv/install.sh | sh + shell: bash + + - name: Add UV to the environment + run: echo "$HOME/.local/bin" >> $GITHUB_PATH + shell: bash + + - name: Install the project + run: uv sync --all-extras --dev + + - name: Check UV installation + run: uv --version + shell: bash + + - name: List the project dependencies + run: uv pip list + - name: Install Ruff + run: uv pip install ruff + + - name: Run Ruff Linter + run: uv run ruff check . + + - name: Run Pytest + run: uv run pytest -s --maxfail=1 --disable-warnings \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..c7ac514 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,43 @@ +# .github/workflows/publish.yml +name: Publish to PyPI + +on: + push: + tags: + - "v*.*.*" # Trigger on version tags + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.x" + + - name: Install UV + run: curl -LsSf https://astral.sh/uv/install.sh | sh + shell: bash + + - name: Add UV to the environment + run: echo "$HOME/.local/bin" >> $GITHUB_PATH + shell: bash + + - name: Install the project + run: uv sync --all-extras --dev + + - name: Generate lock file + run: uv lock + + - name: Build package + run: uv build + + - name: Publish package + env: + PYPI_USERNAME: __token__ + PYPI_PASSWORD: ${{ secrets.MQSS_PYPI_API_TOKEN }} + run: uv publish -v -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index eaf8f29..80e1e9b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "mqss-benchmarking-framework" -version = "0.1.0" -description = "Add your description here" +version = "1.0.0" +description = "Automated and reproducible benchmarking framework for quantum computing workflows." readme = "README.md" requires-python = ">=3.12" dependencies = [