diff --git a/.github/cpanfile b/.github/cpanfile new file mode 100644 index 0000000..38dd607 --- /dev/null +++ b/.github/cpanfile @@ -0,0 +1,16 @@ +requires 'OpenStack::Client', '1.0006'; +requires 'YAML::XS'; +requires 'JSON'; +requires 'Moo'; +requires 'Moo::Role'; + +on 'test' => sub { + requires 'Test2::Bundle::Extended'; + requires 'Test2::Tools::Explain'; + requires 'Test2::Plugin::NoWarnings'; + requires 'Test::MockModule', '0.16'; + requires 'File::Temp'; + requires 'HTTP::Request'; + requires 'LWP::UserAgent'; + requires 'URI::Encode'; +}; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..7932697 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,102 @@ +name: ci + +on: + push: + branches: + - '*' + tags-ignore: + - '*' + pull_request: + +jobs: + + perl-versions: + runs-on: ubuntu-latest + name: List Perl versions + outputs: + perl-versions: ${{ steps.action.outputs.perl-versions }} + steps: + - id: action + uses: perl-actions/perl-versions@v2 + with: + since-perl: 5.10 + with-devel: true + + linux: + name: "Perl ${{ matrix.perl-version }}" + needs: [perl-versions] + runs-on: ubuntu-latest + + env: + PERL_USE_UNSAFE_INC: 0 + AUTHOR_TESTING: 1 + AUTOMATED_TESTING: 1 + RELEASE_TESTING: 1 + + strategy: + fail-fast: false + matrix: + perl-version: ${{ fromJson(needs.perl-versions.outputs.perl-versions) }} + + container: + image: perldocker/perl-tester:${{ matrix.perl-version }} + + steps: + - uses: actions/checkout@v6 + - name: perl -V + run: perl -V + - name: Install dependencies + uses: perl-actions/install-with-cpm@v1 + with: + sudo: false + global: false + cpanfile: ".github/cpanfile" + - name: Set PERL5LIB to local lib + run: echo "PERL5LIB=$(pwd)/local/lib/perl5" >> $GITHUB_ENV + - name: Makefile.PL + run: perl Makefile.PL + - name: make test + run: make test + + macos: + name: macOS + runs-on: macos-latest + + env: + PERL_USE_UNSAFE_INC: 0 + AUTOMATED_TESTING: 1 + + steps: + - uses: actions/checkout@v6 + - name: perl -V + run: perl -V + - name: Install dependencies + run: | + curl -fsSL --compressed https://git.io/cpm | perl - install -g --cpanfile .github/cpanfile + - name: Makefile.PL + run: perl Makefile.PL + - name: make test + run: make test + + windows: + name: Windows + runs-on: windows-latest + + env: + PERL_USE_UNSAFE_INC: 0 + AUTOMATED_TESTING: 1 + + steps: + - uses: actions/checkout@v6 + - name: Set up Perl + run: | + choco install strawberryperl + echo "C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" >> $env:GITHUB_PATH + - name: perl -V + run: perl -V + - name: Install dependencies + run: cpanm --notest --installdeps . + - name: Makefile.PL + run: perl Makefile.PL + - name: make test + run: gmake test diff --git a/.whitesource b/.whitesource new file mode 100644 index 0000000..f056952 --- /dev/null +++ b/.whitesource @@ -0,0 +1,8 @@ +{ + "generalSettings": { + "shouldScanRepo": true + }, + "checkRunSettings": { + "vulnerableCheckRunConclusionLevel": "failure" + } +} \ No newline at end of file diff --git a/lib/OpenStack/MetaAPI.pm b/lib/OpenStack/MetaAPI.pm index 0654f75..44ef017 100644 --- a/lib/OpenStack/MetaAPI.pm +++ b/lib/OpenStack/MetaAPI.pm @@ -191,7 +191,7 @@ sub _looks_valid_id { OpenStack::MetaAPI Using OpenStack::MetaAPI you can call routes from any service directly on the main object. -Helpers are defined from the specs defined https://developer.openstack.org/api-guide/quick-start/#current-api-versions +Helpers are defined from the L defined. Currently only a very small part of the specs have been imported to this project.