PacketViewer virtual table #4495
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow uses actions that are not certified by GitHub. | |
| # They are provided by a third-party and are governed by | |
| # separate terms of service, privacy policy, and support | |
| # documentation. | |
| # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake | |
| # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby | |
| # Reference environment variables: https://docs.github.com/en/actions/reference/environment-variables | |
| name: API Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - "**" | |
| env: | |
| RUBYOPT: --disable=frozen_string_literal | |
| RUBYGEMS_URL: https://rubygems.org | |
| BUNDLE_WITHOUT: development | |
| OPENC3_REDIS_USERNAME: openc3 | |
| OPENC3_REDIS_PASSWORD: openc3password | |
| OPENC3_REDIS_HOSTNAME: 127.0.0.1 | |
| OPENC3_REDIS_PORT: 6379 | |
| OPENC3_REDIS_EPHEMERAL_HOSTNAME: 127.0.0.1 | |
| OPENC3_REDIS_EPHEMERAL_PORT: 6380 | |
| OPENC3_SERVICE_PASSWORD: openc3service | |
| jobs: | |
| cmd-tlm-api: | |
| if: ${{ github.actor != 'dependabot[bot]' }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| ruby-version: ["3.3", "3.4"] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| # Only needed for SonarQube Scan | |
| # with: | |
| # fetch-depth: 0 # all history for all branches and tags | |
| - name: Set up Ruby ${{ matrix.ruby-version }} | |
| uses: ruby/setup-ruby@v1 | |
| env: | |
| OPENC3_DEVEL: ../openc3 | |
| with: | |
| ruby-version: ${{ matrix.ruby-version }} | |
| bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
| working-directory: openc3-cosmos-cmd-tlm-api | |
| - name: Build OpenC3 | |
| run: bundle install; bundle exec rake build | |
| working-directory: openc3 | |
| env: | |
| OPENC3_DEVEL: ${GITHUB_WORKSPACE}/openc3 | |
| - name: Run cmd-tlm-api tests | |
| run: bundle exec rspec | |
| working-directory: openc3-cosmos-cmd-tlm-api | |
| env: | |
| OPENC3_DEVEL: ../openc3 | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| directory: openc3-cosmos-cmd-tlm-api/coverage | |
| flags: ruby-api # See codecov.yml | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| # Attempt at using separate SonarQube Scan task | |
| # - name: Store coverage report | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: cmd-tlm-api-${{ matrix.ruby-version }} | |
| # path: openc3-cosmos-cmd-tlm-api/coverage/coverage.json | |
| script-runner-api-ruby: | |
| if: ${{ github.actor != 'dependabot[bot]' }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| # Note that the report-coverage job needs this value hard coded | |
| ruby-version: ["3.3", "3.4"] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| # Only needed for SonarQube Scan | |
| # with: | |
| # fetch-depth: 0 | |
| - name: Set up Ruby ${{ matrix.ruby-version }} | |
| uses: ruby/setup-ruby@v1 | |
| env: | |
| OPENC3_DEVEL: ../openc3 | |
| with: | |
| ruby-version: ${{ matrix.ruby-version }} | |
| bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
| working-directory: openc3-cosmos-script-runner-api | |
| - name: Build OpenC3 | |
| run: bundle install; bundle exec rake build | |
| working-directory: openc3 | |
| - name: Run script-runner-api tests | |
| run: bundle exec rspec | |
| working-directory: openc3-cosmos-script-runner-api | |
| env: | |
| OPENC3_DEVEL: ../openc3 | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| directory: openc3-cosmos-script-runner-api/coverage | |
| flags: ruby-api # See codecov.yml | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| # - name: Store coverage report | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: script-runner-api-ruby-${{ matrix.ruby-version }} | |
| # path: openc3-cosmos-script-runner-api/coverage/coverage.json | |
| script-runner-api-python: | |
| if: ${{ github.actor != 'dependabot[bot]' }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| # Only needed for SonarQube Scan | |
| # with: | |
| # fetch-depth: 0 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install poetry | |
| poetry install | |
| working-directory: openc3/python | |
| - name: Lint with ruff | |
| run: | | |
| poetry run ruff check --output-format=github ../../openc3-cosmos-script-runner-api/scripts | |
| working-directory: openc3/python | |
| - name: Run unit tests | |
| run: | | |
| poetry run coverage run -m pytest ../../openc3-cosmos-script-runner-api/test/ | |
| poetry run coverage xml -i | |
| working-directory: openc3/python | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| working-directory: openc3/python | |
| flags: python # See codecov.yml | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| # - name: Store coverage report | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: script-runner-api-python-${{ matrix.python-version }} | |
| # path: openc3/python/coverage.xml | |
| # This was an attempt to use SonarQube to report coverage | |
| # It is currently disabled because we reverted to Automatic Analysis | |
| # report-coverage: | |
| # needs: [cmd-tlm-api, script-runner-api-ruby, script-runner-api-python] | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - uses: actions/checkout@v5 | |
| # with: | |
| # fetch-depth: 0 | |
| # - name: Download coverage reports | |
| # uses: actions/download-artifact@v4 | |
| # - name: SonarQube Scan | |
| # uses: SonarSource/sonarqube-scan-action@v5 | |
| # with: | |
| # args: > | |
| # -Dsonar.organization=openc3 | |
| # -Dsonar.projectKey=OpenC3_cosmos | |
| # -Dsonar.python.coverage.reportPaths=script-runner-api-python-3.12/coverage.xml | |
| # -Dsonar.ruby.coverage.reportPaths=cmd-tlm-api-3.3/coverage.json,script-runner-api-ruby-3.3/coverage.json | |
| # -Dsonar.sources=openc3/lib,openc3/python,openc3-cosmos-cmd-tlm-api/app,openc3-cosmos-script-runner-api/app,openc3-cosmos-script-runner-api/scripts | |
| # -Dsonar.tests=openc3-cosmos-cmd-tlm-api/spec,openc3-cosmos-script-runner-api/spec,openc3-cosmos-script-runner-api/test | |
| # -Dsonar.test.exclusions=openc3-cosmos-cmd-tlm-api/spec/fixtures/**/* | |
| # env: | |
| # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |