Skip to content

can't resolve graalvm 21 from tool-cache #892

@dobzhao

Description

@dobzhao

Description:
can't resolve graalvm 21 from tool-cache.

Task version:
v4

Platform:

  • Ubuntu
  • macOS (colima ubuntu:latest docker images)
  • Windows

Runner type:

  • Hosted
  • Self-hosted (gitea)

Repro steps:
start gitea with docker-compose

volumes:
  data:
  config:
  postgres:

networks:
  gitea-network:
    driver: bridge

services:
  server:
    image: docker.gitea.com/gitea:1.24.2-rootless
    environment:
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    healthcheck: 
      test: ["CMD", "curl", "-f", "https://localdomain.com:8443/"] 
      timeout: 3s
      retries: 2
      start_period: 3s
    networks:
      - gitea-network
    volumes:
      - data:/var/lib/gitea
      - config:/etc/gitea
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "8443:8443"
      - "2222:2222"
    depends_on:
      - db

  db:
    image: docker.io/library/postgres:14
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=gitea
      - POSTGRES_DB=gitea
    networks:
      - gitea-network
    volumes:
      - postgres:/var/lib/postgresql/data

  runner:
    image: gitea/act_runner:latest
    environment:
      CONFIG_FILE: /config.yaml
      GITEA_INSTANCE_URL: "https://localdomain.com:8443/"
      GITEA_RUNNER_REGISTRATION_TOKEN: "xxxxxxxxx"
      GITEA_RUNNER_NAME: "runner1"
      GITEA_RUNNER_LABELS: "runner1"
    depends_on:
      server:
        condition: service_healthy 
    ports:
      - "8088:8088"
    volumes:
      - ./config.yaml:/config.yaml
      - /var/run/docker.sock:/var/run/docker.sock

trigger action with this workflow: .gitea/workflows/main.yml

name: Gitea CI

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: setup java
        uses: actions/setup-java@v4
        with:
          distribution: 'graalvm'
          java-version: '21'
          check-latest: false

Expected behavior:
resolved graalvm 21 from tool-cache and do not re-download install file after first run.

Actual behavior:
download jdk when every time action running, even it already exists in act-toolcache volume.

root@colima:/var/lib/docker/volumes/act-toolcache/_data# ls Java_GraalVM_jdk/21/arm64
GRAALVM-README.md  LICENSE.txt  bin  conf  include  jmods  legal  lib  license-information-user-manual.zip  man  release
Installed distributions
Trying to resolve the latest version from remote
Resolved latest version as 21
Trying to download...
Downloading Java 21 (GraalVM) from https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_linux-aarch64_bin.tar.gz ...
Extracting Java archive...
[command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /tmp/94610978-6a7e-41f4-9a5f-0839b81ec1e9 -f /tmp/53432fca-1e5c-491c-b04b-832495b6d341
Java 21 was downloaded
Setting Java 21 as the default
Creating toolchains.xml for JDK version 21 from graalvm
Writing to /root/.m2/toolchains.xml

when I set distribution: 'semeru' or distribution: 'temurin', cached jdk can be resolved like this:

Installed distributions
Resolved Java 21.0.7+6.0.LTS from tool-cache
Setting Java 21.0.7+6.0.LTS as the default
Creating toolchains.xml for JDK version 21 from semeru
Writing to /root/.m2/toolchains.xml
Java configuration:
  Distribution: semeru
  Version: 21.0.7+6.0.LTS
  Path: /opt/hostedtoolcache/Java_IBM_Semeru_jdk/21.0.7-6.0.LTS/arm64

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions