From e7af2e0404764c285604e7ce774c96fc792ae9f7 Mon Sep 17 00:00:00 2001 From: Andrei Filipovici Date: Tue, 28 Apr 2020 17:43:08 +0300 Subject: [PATCH 1/3] (FACT-2569) implemented acceptance tests run in GitHub Actions --- .github/actions/presuite.sh | 40 ++++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 43 +++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100755 .github/actions/presuite.sh create mode 100644 .github/workflows/ci.yml diff --git a/.github/actions/presuite.sh b/.github/actions/presuite.sh new file mode 100755 index 000000000..6c009354c --- /dev/null +++ b/.github/actions/presuite.sh @@ -0,0 +1,40 @@ +#!/bin/sh -x + +export DEBIAN_DISABLE_RUBYGEMS_INTEGRATION=no_wornings +export PATH=/opt/puppetlabs/puppet/bin/:/opt/puppetlabs/bin:$PATH +cwd=$(pwd) + +printf '\nInstall bundler\n\n' +gem install bundler + +printf '\nInstall facter 3 dependencies\n\n' +cd $cwd/$FACTER_3_ROOT/acceptance && bundle install + +printf '\nInstall custom beaker\n\n' +cd $cwd/$BEAKER_ROOT +gem build beaker.gemspec +gem install beaker-*.gem --bindir /bin +bundle info beaker --path + +printf '\nBeaker provision\n\n' +cd $cwd/$FACTER_3_ROOT/acceptance +beaker init -h ubuntu1804-64a{hypervisor=none\,hostname=localhost} -o config/aio/options.rb +beaker provision + +printf '\nBeaker pre-suite\n\n' +BP_ROOT=`bundle info beaker-puppet --path` +beaker exec pre-suite --pre-suite $BP_ROOT/setup/aio/010_Install_Puppet_Agent.rb + +printf '\nConfigure facter 4 as facter 3\n\n' +puppet config set facterng true + +printf '\nInstall facter 4 dependencies\n\n' +cd $cwd/$FACTER_4_ROOT && bundle install + +printf '\nInstall facter 4\n\n' +gem build facter.gemspec +gem install -f facter-*.gem + +printf '\nBeaker tests\n\n' +cd $cwd/$FACTER_3_ROOT/acceptance +beaker exec tests --test-tag-exclude=server,facter_3 --test-tag-or=risk:high,audit:high diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..cf8101374 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +--- +name: GitHub hosted facter CI + +on: [pull_request] + +jobs: + ci: + name: Run acceptance tests + runs-on: ubuntu-latest + env: + FACTER_3_ROOT: facter_3 + FACTER_4_ROOT: facter_4 + BEAKER_ROOT: beaker + SHA: latest + + steps: + - name: Checkout current PR + uses: actions/checkout@v2 + with: + path: facter_4 + + - name: Clone facter 3 repo + uses: actions/checkout@v2 + with: + repository: puppetlabs/facter + ref: master + path: facter_3 + + - name: Clone Mihai's beaker fork + uses: actions/checkout@v2 + with: + repository: mihaibuzgau/beaker + ref: master + path: beaker + + - name: Install Ruby 2.6 + uses: actions/setup-ruby@v1 + with: + ruby-version: '2.6' + + - name: Run acceptance tests + run: sudo -E bash -c facter_4/.github/actions/presuite.sh + From a2bab86b0652a78830b6b8175c2193c49c7e5864 Mon Sep 17 00:00:00 2001 From: Andrei Filipovici Date: Tue, 28 Apr 2020 19:35:06 +0300 Subject: [PATCH 2/3] (FACT-2569) deactivate check for files with world writable permissions --- .github/actions/presuite.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/presuite.sh b/.github/actions/presuite.sh index 6c009354c..d4b724633 100755 --- a/.github/actions/presuite.sh +++ b/.github/actions/presuite.sh @@ -1,6 +1,7 @@ #!/bin/sh -x export DEBIAN_DISABLE_RUBYGEMS_INTEGRATION=no_wornings +export DENABLE_PATH_CHECK=0 export PATH=/opt/puppetlabs/puppet/bin/:/opt/puppetlabs/bin:$PATH cwd=$(pwd) From 6379501dcd716312dbb6a7b99093a9ea5f97a88e Mon Sep 17 00:00:00 2001 From: Andrei Filipovici Date: Tue, 28 Apr 2020 19:47:58 +0300 Subject: [PATCH 3/3] (FACT-2569) changed ruby setup --- .github/actions/presuite.sh | 5 +---- .github/workflows/ci.yml | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/actions/presuite.sh b/.github/actions/presuite.sh index 17c70c7eb..6c009354c 100755 --- a/.github/actions/presuite.sh +++ b/.github/actions/presuite.sh @@ -1,7 +1,6 @@ #!/bin/sh -x export DEBIAN_DISABLE_RUBYGEMS_INTEGRATION=no_wornings -export DENABLE_PATH_CHECK=0 export PATH=/opt/puppetlabs/puppet/bin/:/opt/puppetlabs/bin:$PATH cwd=$(pwd) @@ -38,6 +37,4 @@ gem install -f facter-*.gem printf '\nBeaker tests\n\n' cd $cwd/$FACTER_3_ROOT/acceptance - -beaker exec tests/external_facts/external_fact_stderr_messages_output_to_stderr.rb --test-tag-exclude=server,facter_3 --test-tag-or=risk:high,audit:high -echo $PATH +beaker exec tests --test-tag-exclude=server,facter_3 --test-tag-or=risk:high,audit:high diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf8101374..dabaf4a8f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v2 with: repository: puppetlabs/facter - ref: master + ref: run_tests_on_ng path: facter_3 - name: Clone Mihai's beaker fork @@ -34,10 +34,19 @@ jobs: path: beaker - name: Install Ruby 2.6 - uses: actions/setup-ruby@v1 + uses: ruby/setup-ruby@v1 with: ruby-version: '2.6' - - name: Run acceptance tests - run: sudo -E bash -c facter_4/.github/actions/presuite.sh + - name: Permissions + run: | + cd /opt + cd .. + ls -la + - name: Run acceptance tests + run: | + sudo chmod 755 /home/runner + sudo chmod 755 -R /usr/share + sudo chmod 755 /opt + sudo -E bash -c facter_4/.github/actions/presuite.sh