diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..7f9dc47f --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,92 @@ +name: WA Test Suite + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + types: [opened, synchronize, reopened, ready_for_review] + schedule: + - cron: 0 2 * * * + # Allows runing this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + Run-Linters-and-Tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.5 + uses: actions/setup-python@v2 + with: + python-version: 3.5 + - name: git-bash + uses: pkg-src/github-action-git-bash@v1.1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + cd /tmp && git clone https://github.com/ARM-software/devlib.git && cd devlib && pip install . + cd $GITHUB_WORKSPACE && pip install .[test] + pip install pylint pep8 flake8 mock nose + - name: Run pylint + run: | + cd $GITHUB_WORKSPACE && ./dev_scripts/pylint wa/ + - name: Run PEP8 + run: | + cd $GITHUB_WORKSPACE && ./dev_scripts/pep8 wa + - name: Run nose tests + run: | + nosetests + + Execute-Test-Workload-and-Process: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.5, 3.6, 3.7, 3.8] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: git-bash + uses: pkg-src/github-action-git-bash@v1.1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + cd /tmp && git clone https://github.com/ARM-software/devlib.git && cd devlib && pip install . + cd $GITHUB_WORKSPACE && pip install . + - name: Run test workload + run: | + cd /tmp && wa run $GITHUB_WORKSPACE/tests/ci/idle_agenda.yaml -v -d idle_workload + - name: Test Process Command + run: | + cd /tmp && wa process -f -p csv idle_workload + + Test-WA-Commands: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.5, 3.6, 3.7, 3.8] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: git-bash + uses: pkg-src/github-action-git-bash@v1.1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + cd /tmp && git clone https://github.com/ARM-software/devlib.git && cd devlib && pip install . + cd $GITHUB_WORKSPACE && pip install . + - name: Test Show Command + run: | + wa show dhrystone && wa show generic_android && wa show trace-cmd && wa show csv + - name: Test List Command + run: | + wa list all + - name: Test Create Command + run: | + wa create agenda dhrystone generic_android csv trace_cmd && wa create package test && wa create workload test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4940bc92..00000000 --- a/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2018 ARM Limited -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -language: python - -python: - - "3.6" - -install: - - pip install nose - - pip install nose2 - - pip install flake8 - - pip install pylint==2.6.0 - - git clone -v https://github.com/ARM-software/devlib.git /tmp/devlib && cd /tmp/devlib && python setup.py install - - cd $TRAVIS_BUILD_DIR && python setup.py install - -env: - global: - - PYLINT="cd $TRAVIS_BUILD_DIR && ./dev_scripts/pylint wa" - - PEP8="cd $TRAVIS_BUILD_DIR && ./dev_scripts/pep8 wa" - - NOSETESTS="nose2 -s $TRAVIS_BUILD_DIR/tests" - - WORKLOAD="cd /tmp && wa run $TRAVIS_BUILD_DIR/tests/travis/idle_agenda.yaml -v -d idle_workload" - - PROCESS_CMD="$WORKLOAD && wa process -f -p csv idle_workload" - - SHOW_CMD="wa show dhrystone && wa show generic_android && wa show trace-cmd && wa show csv" - - LIST_CMD="wa list all" - - CREATE_CMD="wa create agenda dhrystone generic_android csv trace_cmd && wa create package test && wa create workload test" - matrix: - - TEST=$PYLINT - - TEST=$PEP8 - - TEST=$NOSETESTS - - TEST=$WORKLOAD - - TEST="$PROCESS_CMD && $SHOW_CMD && $LIST_CMD && $CREATE_CMD" -script: - - echo $TEST && eval $TEST diff --git a/tests/travis/idle_agenda.yaml b/tests/ci/idle_agenda.yaml similarity index 100% rename from tests/travis/idle_agenda.yaml rename to tests/ci/idle_agenda.yaml