diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..db655d0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,62 @@ +--- +name: CI +'on': + pull_request: + push: + branches: + - main +jobs: + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Check out the codebase. + uses: actions/checkout@v4 + with: + path: 'geerlingguy.node_exporter' + + - name: Set up Python 3. + uses: actions/setup-python@v5 + with: + python-version: '3.13' # Can't go to 3.14+ until Ansible 13.x + + - name: Install test dependencies. + run: pip3 install yamllint + + - name: Lint code. + run: | + yamllint . + + molecule: + name: Molecule + runs-on: ubuntu-latest + strategy: + matrix: + distro: + - rockylinux9 + - ubuntu2404 + - debian12 + - debian13 + + steps: + - name: Check out the codebase. + uses: actions/checkout@v4 + with: + path: 'geerlingguy.node_exporter' + + - name: Set up Python 3. + uses: actions/setup-python@v5 + with: + python-version: '3.13' # Can't go to 3.14+ until Ansible 13.x + + - name: Install test dependencies. + run: pip3 install ansible molecule molecule-plugins[docker] docker + + - name: Run Molecule tests. + run: molecule test + env: + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + MOLECULE_DISTRO: ${{ matrix.distro }} +