diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ab0f044 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: Update version and add release notes to README + +on: + pull_request: + types: [opened] # Only executed when a new PR is created + +permissions: # Required for the Action to change our version and README files + contents: write + pull-requests: write + +jobs: + update_readme: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.x" + + # Calls a Python script to increase the version number in `__version__.py` + - name: Increase version number + env: + PR_TITLE: ${{ github.event.pull_request.title }} + run: | + python deployment_scripts/update_version_number.py + + # Calls a Python script to update the release notes in `README.md` + - name: Update release notes + env: + PR_TITLE: ${{ github.event.pull_request.title }} + PR_BODY: ${{ github.event.pull_request.body }} + run: | + python deployment_scripts/update_release_notes.py + + # Commits the changes the script made to `__version__.py` and `README.md` + - name: Commit changes + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add __version__.py + git add README.md + git commit -m "Add release notes for PR #${{ github.event.pull_request.number }}" || echo "No changes to commit" + git push diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..6f5ec86 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,28 @@ +name: Build and test + +on: + push: + branches: ["dvelopment"] # Triggered when a commit is pushed to the development branch + +jobs: + build: + runs-on: ubuntu-latest # Run this code on a Linux Virtual Machine (VM) + + steps: # Steps that are executed for this Action + # Checks out the code into the VM + - name: Checkout repository + uses: actions/checkout@v4 + + # Installs Python + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + # Installs the dependencies + - name: Install Dependencies + run: pip install -r requirements.txt + + # Discovers and runs the tests + - name: Run tests + run: pytest -q diff --git a/tests/test_delivery.py b/tests/test_delivery.py index 76d00e1..ee2ae85 100644 --- a/tests/test_delivery.py +++ b/tests/test_delivery.py @@ -22,7 +22,7 @@ def fixed_weather(): def test_basic_delivery_normal_mode(): """Earth is 0.5 lm away; NORMAL speed 10 lm/hr → 0.05 hr.""" - assert estimate_delivery_time("Earth", DeliveryMode.NORMAL, 1.0, no_weather) == 0.06 # Fix this! It should be 0.05 + assert estimate_delivery_time("Earth", DeliveryMode.NORMAL, 1.0, no_weather) == 0.05 # Fix this! It should be 0.05 def test_turbo_delivery():