feat: support riscv64 (#1571)

* feat: support riscv64

* ci: add riscv64 to test workflow
This commit is contained in:
chiichen
2025-10-23 19:14:53 +08:00
committed by GitHub
parent 71f75057ac
commit 0b26ed0ccd
5 changed files with 28 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
goarch: [amd64, arm64]
goarch: [amd64, arm64, riscv64]
steps:
- name: Checkout
uses: actions/checkout@v5

View File

@@ -29,6 +29,7 @@ builds:
- mipsle
- mips64
- mips64le
- riscv64
goarm:
- '5'
- '6'
@@ -90,7 +91,7 @@ dockers:
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- image_templates:
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-arm64"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-arm64"
@@ -120,27 +121,45 @@ dockers:
goarch: arm
goarm: 7
- image_templates:
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-riscv64"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-riscv64"
use: buildx
extra_files:
- zoneinfo
build_flag_templates:
- "--platform=linux/riscv64"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
goarch: riscv64
docker_manifests:
- name_template: "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}"
image_templates:
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-amd64"
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-arm64"
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-armv7"
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-riscv64"
- name_template: "{{ .Env.DOCKER_USERNAME }}/ddns-go:latest"
image_templates:
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-amd64"
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-arm64"
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-armv7"
- "{{ .Env.DOCKER_USERNAME }}/ddns-go:{{ .Tag }}-riscv64"
- name_template: "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}"
image_templates:
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-amd64"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-arm64"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-armv7"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-riscv64"
- name_template: "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:latest"
image_templates:
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-amd64"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-arm64"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-armv7"
- "ghcr.io/{{ tolower .Env.GITHUB_REPOSITORY }}:{{ .Tag }}-riscv64"

View File

@@ -17,7 +17,7 @@
## 特性
- 支持Mac、Windows、Linux系统支持ARM、x86架构
- 支持Mac、Windows、Linux系统支持ARM、x86、RISC-V架构
- 支持的域名服务商 `阿里云` `腾讯云` `Dnspod` `Cloudflare` `华为云` `Callback` `百度云` `Porkbun` `GoDaddy` `Namecheap` `NameSilo` `Dynadot` `DNSLA` `时代互联` `Eranet` `Gcore`
- 支持接口/网卡/[命令](https://github.com/jeessy2/ddns-go/wiki/通过命令获取IP参考)获取IP
- 支持以服务的方式运行

View File

@@ -15,7 +15,7 @@ Automatically obtain your public IPv4 or IPv6 address and resolve it to the corr
## Features
- Support Mac, Windows, Linux system, support ARM, x86 architecture
- Support Mac, Windows, Linux system, support ARM, x86, RISC-V architecture
- Support domain service providers `Aliyun` `Tencent` `Dnspod` `Cloudflare` `Huawei` `Callback` `Baidu` `Porkbun` `GoDaddy` `Namecheap` `NameSilo` `Dynadot` `DNSLA` `Nowcn` `Eranet` `Gcore`
- Support interface / netcard / command to get IP
- Support running as a service

View File

@@ -24,5 +24,8 @@ func generateAdditionalArch() []string {
if runtime.GOARCH == "amd64" {
return []string{"x86_64"}
}
if runtime.GOARCH == "riscv64" {
return []string{"riscv64"}
}
return []string{}
}