github.com/ethereum/go-ethereum@v1.16.1/.gitea/workflows/release.yml (about)

     1  on:
     2    push:
     3      branches:
     4        - "master"
     5      tags:
     6        - "v*"
     7  
     8  jobs:
     9    linux-intel:
    10      name: Linux Build
    11      runs-on: ubuntu-latest
    12      steps:
    13      - uses: actions/checkout@v4
    14  
    15      - name: Set up Go
    16        uses: actions/setup-go@v5
    17        with:
    18          go-version: 1.24
    19          cache: false
    20  
    21      - name: Install cross toolchain
    22        run: |
    23          apt-get update
    24          apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib
    25  
    26      - name: Build (amd64)
    27        run: |
    28          go run build/ci.go install -static -arch amd64 -dlgo
    29  
    30      - name: Create/upload archive (amd64)
    31        run: |
    32          go run build/ci.go archive -arch amd64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
    33          rm -f build/bin/*
    34        env:
    35          LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
    36          AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
    37  
    38      - name: Build (386)
    39        run: |
    40          go run build/ci.go install -static -arch 386 -dlgo
    41  
    42      - name: Create/upload archive (386)
    43        run: |
    44          go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
    45          rm -f build/bin/*
    46        env:
    47          LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
    48          AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
    49  
    50    linux-arm:
    51      name: Linux Build (arm)
    52      runs-on: ubuntu-latest
    53      steps:
    54      - uses: actions/checkout@v4
    55  
    56      - name: Set up Go
    57        uses: actions/setup-go@v5
    58        with:
    59          go-version: 1.24
    60          cache: false
    61  
    62      - name: Install cross toolchain
    63        run: |
    64          apt-get update
    65          apt-get -yq --no-install-suggests --no-install-recommends install gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-arm-linux-gnueabihf libc6-dev-armhf-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross
    66          ln -s /usr/include/asm-generic /usr/include/asm
    67  
    68      - name: Build (arm64)
    69        run: |
    70          go run build/ci.go install -static -dlgo -arch arm64 -cc aarch64-linux-gnu-gcc
    71  
    72      - name: Create/upload archive (arm64)
    73        run: |
    74          go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
    75          rm -fr build/bin/*
    76        env:
    77          LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
    78          AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
    79  
    80      - name: Run build (arm5)
    81        run: |
    82          go run build/ci.go install -static -dlgo -arch arm -cc arm-linux-gnueabi-gcc
    83        env:
    84          GOARM: "5"
    85  
    86      - name: Create/upload archive (arm5)
    87        run: |
    88          go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
    89        env:
    90          GOARM: "5"
    91          LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
    92          AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
    93  
    94      - name: Run build (arm6)
    95        run: |
    96          go run build/ci.go install -static -dlgo -arch arm -cc arm-linux-gnueabi-gcc
    97        env:
    98          GOARM: "6"
    99  
   100      - name: Create/upload archive (arm6)
   101        run: |
   102          go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
   103          rm -fr build/bin/*
   104        env:
   105          GOARM: "6"
   106          LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
   107          AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
   108  
   109      - name: Run build (arm7)
   110        run: |
   111          go run build/ci.go install -static -dlgo -arch arm -cc arm-linux-gnueabi-gcc
   112        env:
   113          GOARM: "7"
   114  
   115      - name: Create/upload archive (arm7)
   116        run: |
   117          go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
   118          rm -fr build/bin/*
   119        env:
   120          GOARM: "7"
   121          LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
   122          AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
   123  
   124    docker:
   125      name: Docker Image
   126      runs-on: ubuntu-latest
   127      steps:
   128      - uses: actions/checkout@v4
   129  
   130      - name: Set up QEMU
   131        uses: docker/setup-qemu-action@v3
   132  
   133      - name: Set up Docker Buildx
   134        uses: docker/setup-buildx-action@v3
   135  
   136      - name: Set up Go
   137        uses: actions/setup-go@v5
   138        with:
   139          go-version: 1.24
   140          cache: false
   141  
   142      - name: Run docker build
   143        env:
   144          DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
   145          DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
   146        run: |
   147          go run build/ci.go dockerx -platform linux/amd64,linux/arm64,linux/riscv64 -upload