diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c1a4207..8971f0b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -12,9 +12,9 @@ jobs: strategy: ${{steps.load.outputs.strategy}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - id: load - run: echo "::set-output name=strategy::$(echo $(cat strategy.json))" + run: echo "strategy=$(echo $(cat strategy.json))" >> $GITHUB_OUTPUT canary: needs: [setup] @@ -22,16 +22,16 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # Choose colcon-notification for a canary build. It has colcon # dependencies and debian patches, so exercieses a fair amount of the # CI action features. repository: colcon/colcon-notification - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: ${{matrix.python}} - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: path: colcon_ci - uses: ./colcon_ci/ diff --git a/action.yaml b/action.yaml index 7dbe666..4366ad5 100644 --- a/action.yaml +++ b/action.yaml @@ -18,10 +18,10 @@ runs: echo ::endgroup:: echo ::group::Install dependencies - # Install dependencies, including any 'test' extras - python -m pip install -U -e .[test] - # Install pytest-cov and use HEAD for any colcon packages - python -m pip freeze | { grep ^colcon || :; } | sed 's|\(.*\)==.*|git+https://github.com/colcon/\1.git|g' | xargs python -m pip install -U pytest-cov + # Remove this package from constraints + grep -v "^$(python setup.py --name)@" ${GITHUB_ACTION_PATH}/constraints.txt > constraints.txt + # Install dependencies, including any 'test' extras, as well as pytest-cov + python -m pip install -U -e .[test] pytest-cov -c constraints.txt echo ::endgroup:: echo ::group::Run tests @@ -35,7 +35,7 @@ runs: git clone https://github.com/dirk-thomas/publish-python.git $PUBLISH_PYTHON python -m pip install -U PyYAML wheel python $PUBLISH_PYTHON/bin/publish-python wheel:pypi - if [ -f /etc/debian_version ]; then + if [ ! -z "${{matrix.stdeb-check}}" ]; then sudo apt install -y debhelper dh-python fakeroot python3-all python -m pip install -U stdeb DEB_BUILD_OPTIONS=nocheck python $PUBLISH_PYTHON/bin/publish-python stdeb:packagecloud diff --git a/constraints.txt b/constraints.txt new file mode 100644 index 0000000..5715f53 --- /dev/null +++ b/constraints.txt @@ -0,0 +1,46 @@ +colcon-alias@ git+https://github.com/colcon/colcon-alias.git +colcon-argcomplete@ git+https://github.com/colcon/colcon-argcomplete.git +colcon-bash@ git+https://github.com/colcon/colcon-bash.git +colcon-bazel@ git+https://github.com/colcon/colcon-bazel.git +colcon-bundle@ git+https://github.com/colcon/colcon-bundle.git +colcon-cargo@ git+https://github.com/colcon/colcon-cargo.git +colcon-cd@ git+https://github.com/colcon/colcon-cd.git +colcon-clean@ git+https://github.com/colcon/colcon-clean.git +colcon-cmake@ git+https://github.com/colcon/colcon-cmake.git +colcon-common-extensions@ git+https://github.com/colcon/colcon-common-extensions.git +colcon-core@ git+https://github.com/colcon/colcon-core.git +colcon-coveragepy-result@ git+https://github.com/colcon/colcon-coveragepy-result.git +colcon-defaults@ git+https://github.com/colcon/colcon-defaults.git +colcon-devtools@ git+https://github.com/colcon/colcon-devtools.git +colcon-ed@ git+https://github.com/colcon/colcon-ed.git +colcon-gradle@ git+https://github.com/colcon/colcon-gradle.git +colcon-graphviz-anim@ git+https://github.com/colcon/colcon-graphviz-anim.git +colcon-hardware-acceleration@ git+https://github.com/colcon/colcon-hardware-acceleration.git +colcon-installed-package-information@ git+https://github.com/colcon/colcon-installed-package-information.git +colcon-lcov-result@ git+https://github.com/colcon/colcon-lcov-result.git +colcon-library-path@ git+https://github.com/colcon/colcon-library-path.git +colcon-meson@ git+https://github.com/colcon/colcon-meson.git +colcon-metadata@ git+https://github.com/colcon/colcon-metadata.git +colcon-mixin@ git+https://github.com/colcon/colcon-mixin.git +colcon-notification@ git+https://github.com/colcon/colcon-notification.git +colcon-output@ git+https://github.com/colcon/colcon-output.git +colcon-override-check@ git+https://github.com/colcon/colcon-override-check.git +colcon-package-information@ git+https://github.com/colcon/colcon-package-information.git +colcon-package-selection@ git+https://github.com/colcon/colcon-package-selection.git +colcon-parallel-executor@ git+https://github.com/colcon/colcon-parallel-executor.git +colcon-pkg-config@ git+https://github.com/colcon/colcon-pkg-config.git +colcon-powershell@ git+https://github.com/colcon/colcon-powershell.git +colcon-python-setup-py@ git+https://github.com/colcon/colcon-python-setup-py.git +colcon-recursive-crawl@ git+https://github.com/colcon/colcon-recursive-crawl.git +colcon-rerun@ git+https://github.com/colcon/colcon-rerun.git +colcon-ros-bazel@ git+https://github.com/colcon/colcon-ros-bazel.git +colcon-ros-bundle@ git+https://github.com/colcon/colcon-ros-bundle.git +colcon-ros-cargo@ git+https://github.com/colcon/colcon-ros-cargo.git +colcon-ros-domain-id-coordinator@ git+https://github.com/colcon/colcon-ros-domain-id-coordinator.git +colcon-ros@ git+https://github.com/colcon/colcon-ros.git +colcon-ros-gradle@ git+https://github.com/colcon/colcon-ros-gradle.git +colcon-sanitizer-reports@ git+https://github.com/colcon/colcon-sanitizer-reports.git +colcon-spawn-shell@ git+https://github.com/colcon/colcon-spawn-shell.git +colcon-test-result@ git+https://github.com/colcon/colcon-test-result.git +colcon-zsh@ git+https://github.com/colcon/colcon-zsh.git +flake8<6 diff --git a/strategy.json b/strategy.json index a2b5e7c..392ede9 100644 --- a/strategy.json +++ b/strategy.json @@ -6,6 +6,10 @@ { "os": "ubuntu-20.04", "python": "3.6" + }, + { + "os": "ubuntu-latest", + "stdeb-check": "1" } ] }