Skip to content

update node download #283

update node download

update node download #283

Workflow file for this run

name: Build ubuntu images
on:
schedule:
- cron: 0 12 */7 * *
push:
paths:
- '.github/workflows/build-ubuntu.yml'
- 'linux/ubuntu/**'
branches:
- 'master'
pull_request:
paths:
- '.github/workflows/build-ubuntu.yml'
- 'linux/ubuntu/**'
workflow_dispatch:
env:
IMAGE_LABEL_OWNER: ${{ github.repository_owner }}
IMAGE_LABEL_REPO: ${{ github.repository }}
SLUG: ${{ github.repository_owner }}/ubuntu
DISTRO: ubuntu
NODE: '16'
BUILD_REF: ${{ github.sha }}
SKIP_TEST: false
defaults:
run:
shell: sh
jobs:
build-base:
name: Build base ${{ matrix.TAG }}
runs-on: ubuntu-latest
env:
PLATFORMS: ${{ matrix.PLATFORMS }}
strategy:
fail-fast: true
max-parallel: 4
matrix:
PLATFORMS:
- linux/amd64,linux/arm64,linux/armhf
TAG:
- latest
- 22.04
- 20.04
steps:
- name: Login to GitHub Container Registry
if: ${{ github.repository_owner == github.actor }}
id: ghcr
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Quay
if: ${{ github.repository_owner == github.actor }}
id: quay
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.QUAY_USER }}
password: ${{ secrets.QUAY_TOKEN }}
- name: Login to Docker Hub
if: ${{ github.repository_owner == github.actor }}
id: dckr
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Print tag
run: |
if ${{ ( github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' ) }} ; then
echo "PART_TAG=$(date +%Y%m%d)" | tee -a "$GITHUB_ENV"
else
echo "PART_TAG=dev" | tee -a "$GITHUB_ENV"
fi
- name: Set Ubuntu version to RELEASE
run: |
if [ "latest" = "${{ matrix.TAG }}" ]; then
echo "RELEASE_TAG=$(lsb_release -rs)" | tee -a "$GITHUB_ENV"
else
echo "RELEASE_TAG=${{ matrix.TAG }}" | tee -a "$GITHUB_ENV"
fi
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
# setup buildkit ourselves so it doesn't create a new one each time act is executed
- run: |
docker buildx create \
--use \
--name image-builder \
--buildkitd-flags '--allow-insecure-entitlement network.host' \
--driver docker-container \
--driver-opt "env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000" \
--platform "${{ env.PLATFORMS }}"
- uses: actions/checkout@v3
- name: Build and push ${{ env.DISTRO }}:${{ env.TAG }}
shell: pwsh
env:
RUNNER: root
TAG: act-${{ matrix.TAG }}-${{ env.PART_TAG }}
TYPE: act
FROM_IMAGE: buildpack-deps
FROM_TAG: ${{ env.RELEASE_TAG }}
BUILD_TAG_VERSION: ${{ env.PART_TAG }}
BUILD_TAG: act-${{ matrix.TAG }}
run: |
./build.ps1 `
-push `
-tags @(
'ghcr.io/${{ env.SLUG }}:${{ env.TAG }}',
'quay.io/${{ env.SLUG }}:${{ env.TAG }}',
'docker.io/${{ env.SLUG }}:${{ env.TAG }}'
)
- name: Build and push ${{ env.DISTRO }}:${{ env.TAG }}
shell: pwsh
env:
RUNNER: runner
TAG: runner-${{ matrix.TAG }}-${{ env.PART_TAG }}
TYPE: runner
FROM_IMAGE: ghcr.io/${{ env.SLUG }}
FROM_TAG: act-${{ matrix.TAG }}-${{ env.PART_TAG }}
BUILD_TAG_VERSION: ${{ env.PART_TAG }}
BUILD_TAG: runner-${{ matrix.TAG }}
run: |
./build.ps1 `
-push `
-tags @(
'ghcr.io/${{ env.SLUG }}:${{ env.TAG }}',
'quay.io/${{ env.SLUG }}:${{ env.TAG }}',
'docker.io/${{ env.SLUG }}:${{ env.TAG }}'
)
- if: ${{ !env.SKIP_TEST }}
uses: actions/setup-go@v3
with:
go-version: '^1.16'
- if: ${{ !env.SKIP_TEST }}
uses: actions/checkout@v3
with:
repository: nektos/act
path: act
- if: ${{ !env.SKIP_TEST }}
env:
ACT_TEST_IMAGE: ghcr.io/${{ env.SLUG }}:act-${{ matrix.TAG }}-${{ env.PART_TAG }}
run: |
cd act/
go test ./...
- name: Build and push ${{ env.DISTRO }}:${{ env.TAG }}
if: ${{ ( github.event_name != 'pull_request' && github.event_name != 'push' && !env.ACT ) }}
shell: pwsh
env:
TAG: act-${{ matrix.TAG }}
TYPE: act
FROM_IMAGE: buildpack-deps
FROM_TAG: ${{ env.RELEASE_TAG }}
BUILD_TAG_VERSION: ${{ env.PART_TAG }}
BUILD_TAG: act-${{ matrix.TAG }}
run: |
./build.ps1 `
-push `
-tags @(
'ghcr.io/${{ env.SLUG }}:${{ env.TAG }}',
'quay.io/${{ env.SLUG }}:${{ env.TAG }}',
'docker.io/${{ env.SLUG }}:${{ env.TAG }}'
)
- name: Build and push ${{ env.DISTRO }}:${{ env.TAG }}
if: ${{ ( github.event_name != 'pull_request' && github.event_name != 'push' && !env.ACT ) }}
shell: pwsh
env:
RUNNER: runner
TAG: runner-${{ matrix.TAG }}
TYPE: runner
FROM_IMAGE: ghcr.io/${{ env.SLUG }}
FROM_TAG: act-${{ matrix.TAG }}
BUILD_TAG_VERSION: ${{ env.PART_TAG }}
BUILD_TAG: runner-${{ matrix.TAG }}
run: |
./build.ps1 `
-push `
-tags @(
'ghcr.io/${{ env.SLUG }}:${{ env.TAG }}',
'quay.io/${{ env.SLUG }}:${{ env.TAG }}',
'docker.io/${{ env.SLUG }}:${{ env.TAG }}'
)
build-flavours:
name: Build ${{ matrix.TYPE }}:${{ matrix.TAG }}
runs-on: ubuntu-latest
needs: [build-base]
env:
PLATFORMS: ${{ matrix.PLATFORMS }}
BUILD_TAG: ${{ matrix.TYPE }}-${{ matrix.TAG }}
TYPE: ${{ matrix.TYPE }}
strategy:
fail-fast: false
max-parallel: 8
matrix:
TAG:
- latest
- 22.04
- 20.04
PLATFORMS:
- 'linux/amd64'
TYPE:
- go
- js
- pwsh
- rust
- dotnet
- custom
steps:
- name: Login to GitHub Container Registry
if: ${{ github.repository_owner == github.actor }}
id: ghcr
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Quay
if: ${{ github.repository_owner == github.actor }}
id: quay
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.QUAY_USER }}
password: ${{ secrets.QUAY_TOKEN }}
- name: Login to Docker Hub
if: ${{ github.repository_owner == github.actor }}
id: dckr
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Print tag
run: |
if ${{ ( github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' ) }} ; then
echo "PART_TAG=$(date +%Y%m%d)" | tee -a "$GITHUB_ENV"
else
echo "PART_TAG=dev" | tee -a "$GITHUB_ENV"
fi
- name: Set Ubuntu version to RELEASE
run: |
if [ "latest" = "${{ matrix.TAG }}" ]; then
echo "RELEASE_TAG=$(lsb_release -rs)" | tee -a "$GITHUB_ENV"
else
echo "RELEASE_TAG=${{ matrix.TAG }}" | tee -a "$GITHUB_ENV"
fi
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- run: |
docker buildx create \
--use \
--name image-builder \
--buildkitd-flags '--allow-insecure-entitlement network.host' \
--driver docker-container \
--driver-opt "env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000" \
--platform "${{ env.PLATFORMS }}"
- uses: actions/checkout@v3
- name: Build and push ${{ env.DISTRO }}:${{ env.TAG }}
shell: pwsh
env:
TAG: ${{ matrix.TYPE }}-${{ matrix.TAG }}-${{ env.PART_TAG }}
FROM_IMAGE: ghcr.io/${{ env.SLUG }}
FROM_TAG: act-${{ matrix.TAG }}-${{ env.PART_TAG }}
BUILD_TAG_VERSION: ${{ env.PART_TAG }}
run: |
./build.ps1 `
-push `
-tags @(
'ghcr.io/${{ env.SLUG }}:${{ env.TAG }}',
'quay.io/${{ env.SLUG }}:${{ env.TAG }}',
'docker.io/${{ env.SLUG }}:${{ env.TAG }}'
)
- name: Build and push ${{ env.DISTRO }}:${{ env.TAG }}
shell: pwsh
if: ${{ ( github.event_name != 'pull_request' && github.event_name != 'push' && !env.ACT ) }}
env:
TAG: ${{ matrix.TYPE }}-${{ matrix.TAG }}
FROM_IMAGE: ghcr.io/${{ env.SLUG }}
FROM_TAG: act-${{ matrix.TAG }}-${{ env.PART_TAG }}
BUILD_TAG_VERSION: ${{ env.PART_TAG }}
run: |
./build.ps1 `
-push `
-tags @(
'ghcr.io/${{ env.SLUG }}:${{ env.TAG }}',
'quay.io/${{ env.SLUG }}:${{ env.TAG }}',
'docker.io/${{ env.SLUG }}:${{ env.TAG }}'
)