diff mbox series

[ovs-dev,v3,2/2] ci: Pin Python, Fedora and Ubuntu runner versions.

Message ID 170015560494.1307756.18375846942980850590.stgit@dceara.remote.csb
State Accepted
Headers show
Series Stabilize CI by pinning container, runner and Python versions. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes success github build: passed

Commit Message

Dumitru Ceara Nov. 16, 2023, 5:26 p.m. UTC
We initially thought always using the latest releases would be more
maintainable because we didn't have to bump versions manually.  It turns
out that it's the opposite, CI suddenly starts to fail on versions where
it used to pass.

To avoid ever changing tools in our CI due to newer releases of
Python/Fedora/Ubuntu.  We can always bump versions manually.

Fixes: 5ee07b32a01d ("ci: Change all GitHub CI jobs to use ubuntu-latest.")
Fixes: 60a53abaa38a ("ci: Add automation for building the containers")
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
---
 .github/workflows/containers.yml               |    2 +-
 .github/workflows/ovn-fake-multinode-tests.yml |    6 +++---
 .github/workflows/ovn-kubernetes.yml           |    4 ++--
 .github/workflows/test.yml                     |    6 +++---
 utilities/containers/fedora/Dockerfile         |    2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

Comments

Ales Musil Nov. 16, 2023, 5:34 p.m. UTC | #1
On Thu, Nov 16, 2023 at 6:26 PM Dumitru Ceara <dceara@redhat.com> wrote:

> We initially thought always using the latest releases would be more
> maintainable because we didn't have to bump versions manually.  It turns
> out that it's the opposite, CI suddenly starts to fail on versions where
> it used to pass.
>
> To avoid ever changing tools in our CI due to newer releases of
> Python/Fedora/Ubuntu.  We can always bump versions manually.
>
> Fixes: 5ee07b32a01d ("ci: Change all GitHub CI jobs to use ubuntu-latest.")
> Fixes: 60a53abaa38a ("ci: Add automation for building the containers")
> Signed-off-by: Dumitru Ceara <dceara@redhat.com>
> ---
>

Hi Dumitru,

thank you for the v3. I have one small question below.


>  .github/workflows/containers.yml               |    2 +-
>  .github/workflows/ovn-fake-multinode-tests.yml |    6 +++---
>  .github/workflows/ovn-kubernetes.yml           |    4 ++--
>  .github/workflows/test.yml                     |    6 +++---
>  utilities/containers/fedora/Dockerfile         |    2 +-
>  5 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/.github/workflows/containers.yml
> b/.github/workflows/containers.yml
> index 57e815ed86..bdd1180872 100644
> --- a/.github/workflows/containers.yml
> +++ b/.github/workflows/containers.yml
> @@ -15,7 +15,7 @@ env:
>
>  jobs:
>    container:
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>      strategy:
>        matrix:
>          distro: [ fedora, ubuntu ]
> diff --git a/.github/workflows/ovn-fake-multinode-tests.yml
> b/.github/workflows/ovn-fake-multinode-tests.yml
> index 9a5cd83a65..25610df534 100644
> --- a/.github/workflows/ovn-fake-multinode-tests.yml
> +++ b/.github/workflows/ovn-fake-multinode-tests.yml
> @@ -13,7 +13,7 @@ concurrency:
>  jobs:
>    build:
>      name: Build ovn-fake-multinode image
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>      strategy:
>        matrix:
>          cfg:
> @@ -69,7 +69,7 @@ jobs:
>          path: /tmp/_output/ovn_${{ matrix.cfg.branch }}_image.tar
>
>    multinode-tests:
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>      timeout-minutes: 15
>      needs: [build]
>      strategy:
> @@ -158,7 +158,7 @@ jobs:
>      - name: set up python
>        uses: actions/setup-python@v4
>        with:
> -        python-version: '3.x'
> +        python-version: '3.12'
>
>      - name: Check out ovn
>        uses: actions/checkout@v3
> diff --git a/.github/workflows/ovn-kubernetes.yml
> b/.github/workflows/ovn-kubernetes.yml
> index d9a91874ff..1689396d66 100644
> --- a/.github/workflows/ovn-kubernetes.yml
> +++ b/.github/workflows/ovn-kubernetes.yml
> @@ -24,7 +24,7 @@ env:
>  jobs:
>    build:
>      name: Build
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>      steps:
>      - name: Enable Docker experimental features
>        run: |
> @@ -62,7 +62,7 @@ jobs:
>    e2e:
>      name: e2e
>      if: github.event_name != 'schedule'
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>      timeout-minutes: 220
>      strategy:
>        fail-fast: false
> diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
> index 5c5ce6ed10..a5ccb7e4ae 100644
> --- a/.github/workflows/test.yml
> +++ b/.github/workflows/test.yml
> @@ -94,7 +94,7 @@ jobs:
>        SANITIZERS:  ${{ matrix.cfg.sanitizers }}
>
>      name: linux ${{ join(matrix.cfg.*, ' ') }}
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>
>      strategy:
>        fail-fast: false
> @@ -219,7 +219,7 @@ jobs:
>      - name: set up python
>        uses: actions/setup-python@v4
>        with:
> -        python-version: '3.x'
> +        python-version: '3.12'
>      - name: prepare
>        run:  ./.ci/osx-prepare.sh
>      - name: build
> @@ -233,7 +233,7 @@ jobs:
>
>    build-linux-rpm:
>      name: linux rpm fedora
> -    runs-on: ubuntu-latest
> +    runs-on: ubuntu-22.04
>      container: fedora:latest
>      timeout-minutes: 30
>
> diff --git a/utilities/containers/fedora/Dockerfile
> b/utilities/containers/fedora/Dockerfile
> index 4058d7f5be..066bb0b957 100755
> --- a/utilities/containers/fedora/Dockerfile
> +++ b/utilities/containers/fedora/Dockerfile
> @@ -1,4 +1,4 @@
> -FROM quay.io/fedora/fedora:latest
> +FROM registry.fedoraproject.org/fedora:latest


Why did we switch from quay? I guess it shouldn't matter, just curious.


>
>
>  ARG CONTAINERS_PATH
>
>
>
Thanks,
Ales
Dumitru Ceara Nov. 16, 2023, 6:04 p.m. UTC | #2
On 11/16/23 18:34, Ales Musil wrote:
> On Thu, Nov 16, 2023 at 6:26 PM Dumitru Ceara <dceara@redhat.com> wrote:
> 
>> We initially thought always using the latest releases would be more
>> maintainable because we didn't have to bump versions manually.  It turns
>> out that it's the opposite, CI suddenly starts to fail on versions where
>> it used to pass.
>>
>> To avoid ever changing tools in our CI due to newer releases of
>> Python/Fedora/Ubuntu.  We can always bump versions manually.
>>
>> Fixes: 5ee07b32a01d ("ci: Change all GitHub CI jobs to use ubuntu-latest.")
>> Fixes: 60a53abaa38a ("ci: Add automation for building the containers")
>> Signed-off-by: Dumitru Ceara <dceara@redhat.com>
>> ---
>>
> 
> Hi Dumitru,
> 
> thank you for the v3. I have one small question below.
> 

Thanks for the review!

> 
>>  .github/workflows/containers.yml               |    2 +-
>>  .github/workflows/ovn-fake-multinode-tests.yml |    6 +++---
>>  .github/workflows/ovn-kubernetes.yml           |    4 ++--
>>  .github/workflows/test.yml                     |    6 +++---
>>  utilities/containers/fedora/Dockerfile         |    2 +-
>>  5 files changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/.github/workflows/containers.yml
>> b/.github/workflows/containers.yml
>> index 57e815ed86..bdd1180872 100644
>> --- a/.github/workflows/containers.yml
>> +++ b/.github/workflows/containers.yml
>> @@ -15,7 +15,7 @@ env:
>>
>>  jobs:
>>    container:
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>      strategy:
>>        matrix:
>>          distro: [ fedora, ubuntu ]
>> diff --git a/.github/workflows/ovn-fake-multinode-tests.yml
>> b/.github/workflows/ovn-fake-multinode-tests.yml
>> index 9a5cd83a65..25610df534 100644
>> --- a/.github/workflows/ovn-fake-multinode-tests.yml
>> +++ b/.github/workflows/ovn-fake-multinode-tests.yml
>> @@ -13,7 +13,7 @@ concurrency:
>>  jobs:
>>    build:
>>      name: Build ovn-fake-multinode image
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>      strategy:
>>        matrix:
>>          cfg:
>> @@ -69,7 +69,7 @@ jobs:
>>          path: /tmp/_output/ovn_${{ matrix.cfg.branch }}_image.tar
>>
>>    multinode-tests:
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>      timeout-minutes: 15
>>      needs: [build]
>>      strategy:
>> @@ -158,7 +158,7 @@ jobs:
>>      - name: set up python
>>        uses: actions/setup-python@v4
>>        with:
>> -        python-version: '3.x'
>> +        python-version: '3.12'
>>
>>      - name: Check out ovn
>>        uses: actions/checkout@v3
>> diff --git a/.github/workflows/ovn-kubernetes.yml
>> b/.github/workflows/ovn-kubernetes.yml
>> index d9a91874ff..1689396d66 100644
>> --- a/.github/workflows/ovn-kubernetes.yml
>> +++ b/.github/workflows/ovn-kubernetes.yml
>> @@ -24,7 +24,7 @@ env:
>>  jobs:
>>    build:
>>      name: Build
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>      steps:
>>      - name: Enable Docker experimental features
>>        run: |
>> @@ -62,7 +62,7 @@ jobs:
>>    e2e:
>>      name: e2e
>>      if: github.event_name != 'schedule'
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>      timeout-minutes: 220
>>      strategy:
>>        fail-fast: false
>> diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
>> index 5c5ce6ed10..a5ccb7e4ae 100644
>> --- a/.github/workflows/test.yml
>> +++ b/.github/workflows/test.yml
>> @@ -94,7 +94,7 @@ jobs:
>>        SANITIZERS:  ${{ matrix.cfg.sanitizers }}
>>
>>      name: linux ${{ join(matrix.cfg.*, ' ') }}
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>
>>      strategy:
>>        fail-fast: false
>> @@ -219,7 +219,7 @@ jobs:
>>      - name: set up python
>>        uses: actions/setup-python@v4
>>        with:
>> -        python-version: '3.x'
>> +        python-version: '3.12'
>>      - name: prepare
>>        run:  ./.ci/osx-prepare.sh
>>      - name: build
>> @@ -233,7 +233,7 @@ jobs:
>>
>>    build-linux-rpm:
>>      name: linux rpm fedora
>> -    runs-on: ubuntu-latest
>> +    runs-on: ubuntu-22.04
>>      container: fedora:latest
>>      timeout-minutes: 30
>>
>> diff --git a/utilities/containers/fedora/Dockerfile
>> b/utilities/containers/fedora/Dockerfile
>> index 4058d7f5be..066bb0b957 100755
>> --- a/utilities/containers/fedora/Dockerfile
>> +++ b/utilities/containers/fedora/Dockerfile
>> @@ -1,4 +1,4 @@
>> -FROM quay.io/fedora/fedora:latest
>> +FROM registry.fedoraproject.org/fedora:latest
> 
> 
> Why did we switch from quay? I guess it shouldn't matter, just curious.

I had the impression yesterday that there was no fedora:37 on quay.io.
However that's not the case, I was probably doing something wrong.  I
can change it back but it feels more appropriate to use Fedora's own
registry.

> 
> 
>>
>>
>>  ARG CONTAINERS_PATH
>>
>>
>>
> Thanks,
> Ales
>
Dumitru Ceara Nov. 17, 2023, 8:25 a.m. UTC | #3
On 11/16/23 19:04, Dumitru Ceara wrote:
>>> diff --git a/utilities/containers/fedora/Dockerfile
>>> b/utilities/containers/fedora/Dockerfile
>>> index 4058d7f5be..066bb0b957 100755
>>> --- a/utilities/containers/fedora/Dockerfile
>>> +++ b/utilities/containers/fedora/Dockerfile
>>> @@ -1,4 +1,4 @@
>>> -FROM quay.io/fedora/fedora:latest
>>> +FROM registry.fedoraproject.org/fedora:latest
>>
>> Why did we switch from quay? I guess it shouldn't matter, just curious.
> I had the impression yesterday that there was no fedora:37 on quay.io.
> However that's not the case, I was probably doing something wrong.  I
> can change it back but it feels more appropriate to use Fedora's own
> registry.

On second thought, after checking some more, it seems quite a lot of
containers migrated away from registry.fedoraproject.org to quay.io so
I'll just stick with quay.io.

I'll update the patches accordingly before applying.  I'll run them
again through CI first.

Thanks,
Dumitru
diff mbox series

Patch

diff --git a/.github/workflows/containers.yml b/.github/workflows/containers.yml
index 57e815ed86..bdd1180872 100644
--- a/.github/workflows/containers.yml
+++ b/.github/workflows/containers.yml
@@ -15,7 +15,7 @@  env:
 
 jobs:
   container:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     strategy:
       matrix:
         distro: [ fedora, ubuntu ]
diff --git a/.github/workflows/ovn-fake-multinode-tests.yml b/.github/workflows/ovn-fake-multinode-tests.yml
index 9a5cd83a65..25610df534 100644
--- a/.github/workflows/ovn-fake-multinode-tests.yml
+++ b/.github/workflows/ovn-fake-multinode-tests.yml
@@ -13,7 +13,7 @@  concurrency:
 jobs:
   build:
     name: Build ovn-fake-multinode image
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     strategy:
       matrix:
         cfg:
@@ -69,7 +69,7 @@  jobs:
         path: /tmp/_output/ovn_${{ matrix.cfg.branch }}_image.tar
 
   multinode-tests:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     timeout-minutes: 15
     needs: [build]
     strategy:
@@ -158,7 +158,7 @@  jobs:
     - name: set up python
       uses: actions/setup-python@v4
       with:
-        python-version: '3.x'
+        python-version: '3.12'
 
     - name: Check out ovn
       uses: actions/checkout@v3
diff --git a/.github/workflows/ovn-kubernetes.yml b/.github/workflows/ovn-kubernetes.yml
index d9a91874ff..1689396d66 100644
--- a/.github/workflows/ovn-kubernetes.yml
+++ b/.github/workflows/ovn-kubernetes.yml
@@ -24,7 +24,7 @@  env:
 jobs:
   build:
     name: Build
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     steps:
     - name: Enable Docker experimental features
       run: |
@@ -62,7 +62,7 @@  jobs:
   e2e:
     name: e2e
     if: github.event_name != 'schedule'
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     timeout-minutes: 220
     strategy:
       fail-fast: false
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 5c5ce6ed10..a5ccb7e4ae 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -94,7 +94,7 @@  jobs:
       SANITIZERS:  ${{ matrix.cfg.sanitizers }}
 
     name: linux ${{ join(matrix.cfg.*, ' ') }}
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
 
     strategy:
       fail-fast: false
@@ -219,7 +219,7 @@  jobs:
     - name: set up python
       uses: actions/setup-python@v4
       with:
-        python-version: '3.x'
+        python-version: '3.12'
     - name: prepare
       run:  ./.ci/osx-prepare.sh
     - name: build
@@ -233,7 +233,7 @@  jobs:
 
   build-linux-rpm:
     name: linux rpm fedora
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     container: fedora:latest
     timeout-minutes: 30
 
diff --git a/utilities/containers/fedora/Dockerfile b/utilities/containers/fedora/Dockerfile
index 4058d7f5be..066bb0b957 100755
--- a/utilities/containers/fedora/Dockerfile
+++ b/utilities/containers/fedora/Dockerfile
@@ -1,4 +1,4 @@ 
-FROM quay.io/fedora/fedora:latest
+FROM registry.fedoraproject.org/fedora:latest
 
 ARG CONTAINERS_PATH