Giter Club home page Giter Club logo

run-edgetest-action's Introduction

run-edgetest-action

example workflow

The run edgetest action lets you run edgetest against your Python libray. It will loop through your project's dependencies, and check if your project is compatible with the latest version of each dependency.

The action assumes the following:

  • Your repo is already configured to use edgetest.
    • eg: you have a section in your setup.cfg for edgetest
  • runs on ubuntu-latest, Python 3.9.x, and the latest edgetest, edgetest-conda, and edgetest-pip-tools
  • any external setup for your tests to pass outside the command passed to edgetest is done before the call.

Example of usage:

on:
  schedule:
    - cron:  '5 9 * * 1'
jobs:
  hello_world_job:
    runs-on: ubuntu-latest
    name: running edgetest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: develop
      - name: Copy files for locopy
        id: copy-files
        run: |
          cp tests/data/.locopyrc ~/.locopyrc
          cp tests/data/.locopy-sfrc ~/.locopy-sfrc
      - id: run-edgetest
        uses: edgetest-dev/[email protected]
        with:
          edgetest-flags: '-c setup.cfg -r requirements.txt --export'
          base-branch: 'develop'
          skip-pr: 'false'
          python-version: 3.10
  • Typically, you will want to run the action on some cron schedule as its own workflow
  • It should use ubuntu
  • Checkout your repo and point it to your default branch (the one to run edgetest against).
    • This branch should have your edgetest configuration.
  • (Optional) Do any preparation for your testing or other housekeeping. In this example we needed to copy some file to the home directory for our testing to work.
  • Finally, you can call the edgetest action

Options

option desc default examples
edgetest-flags options to pass to the edgetest call. Everything after edgetest .... "" '-c setup.cfg -r requirements.txt --export'
base-branch the branch which you want to PR against if there are changes. This is typically your development branch 'dev' 'develop'
skip-pr skips the action summiting a PR if there are any changes. 'true' or 'false'
python-version Python version to use (from "setup-miniconda"). 3.9 3.7, 3.8, 3.9, 3.10

Action Dependencies

Uses:

Contributing

See our developer documentation.

License

MIT

run-edgetest-action's People

Contributors

jdawang avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

run-edgetest-action's Issues

edgetest force pushes overwrite user commits

relevant issue: capitalone/edgetest#22

edgetest opened this PR to update the dask[dataframe] version yesterday

capitalone/rubicon-ml#221

I had to manually apply those version updates to the environment files in my repo, which caused the whitesource scan to fail. so, I left the PR open overnight to come back to it today and finish. overnight, edgetest again noticed that dask[dataframe] needed to be updated so it created a branch with the same name as the one I had committed my manual changes to yesterday and forced pushed, overwriting the branch

edgetest should be able to recognize that it already opened the PR to update dask[dataframe] and not force push the same update

I also imagine that if a second library needed to be updated while the PR for a previous one is still open we'd see the same behavior since the branch always seems to be named edgetest-patch

Supporting pyproject.toml

edgetest now supports pyproject.toml as a valid file to commit. We need to include support for it in the action.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.