diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml new file mode 100644 index 0000000..9abf8dc --- /dev/null +++ b/.github/workflows/debug.yml @@ -0,0 +1,42 @@ +name: Docker + +on: + workflow_dispatch: + +jobs: + publish-dockerhub: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Get artifacts + run: | + bash get_artifacts.sh ${{ secrets.GITHUB_TOKEN }} $(curl "https://api.github.com/repos/NapNeko/NapCatQQ/releases/latest" | jq -r '.tag_name') + ls -lh + - name: Set up Docker buildx + uses: docker/setup-buildx-action@v3 + - name: Docker Hub login + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: | + echo "${DOCKER_PASSWORD}" | docker login \ + --username "${DOCKER_USERNAME}" \ + --password-stdin + - name: Run buildx and push + env: + DOCKER_REPO: mlikiowa/napcat-docker + GITHUB_REPO: NapNeko/NapCatQQ + run: | + TAG=$(curl "https://api.github.com/repos/NapNeko/NapCatQQ/releases/latest" | jq -r '.tag_name') + docker buildx build \ + --build-arg LINK=$LINK \ + --output "type=image,push=true" \ + --platform linux/amd64,linux/arm64 \ + --tag ${DOCKER_REPO}:$TAG \ + --tag ${DOCKER_REPO}:latest \ + --file ./Dockerfile \ + ./docker + - name: Docker Hub logout + if: always() + run: docker logout \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 9e82ec6..52975a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM mlikiowa/napcat-docker:base WORKDIR /usr/src/app -COPY NapCat.linux.zip NapCat.linux.zip +COPY NapCat.linux.arm64.zip NapCat.linux.x64.zip . COPY config.txt entrypoint.sh ./ # 安装Linux QQ @@ -12,9 +12,8 @@ RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \ # 安装 napcat RUN rarch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/x64/) && \ - unzip NapCat.linux.zip -d napcat && \ - mv ./napcat/NapCat.linux.${rarch}/* ./napcat/ && \ - rm NapCat.linux.zip && \ + unzip NapCat.linux.${rarch}.zip -d . && \ + mv NapCat.linux.${rarch} napcat && \ chmod +x napcat/napcat.sh && \ chmod +x entrypoint.sh diff --git a/get_artifacts.sh b/get_artifacts.sh index a8886d6..035b4c9 100644 --- a/get_artifacts.sh +++ b/get_artifacts.sh @@ -1,12 +1,20 @@ #!/bin/bash -ARCH_DOWN=$(echo $ARCH_NC | sed 's/linux\/amd64/x64/' | sed 's/linux\/arm64/arm64/') token="$1" -artifact_name="NapCat.linux.$ARCH_DOWN" +version="$2" + # 设置输出目录 output_dir="." -echo "当前架构$ARCH_DOWN" # 下载release -curl -s -X GET -H "Authorization: token $token" -L "https://github.com/NapNeko/NapCatQQ/releases/download/v1.2.0/NapCat.linux.x64.docker2.zip" -o "$output_dir/NapCat.linux.zip" -ls -echo "编译产物已保存到$output_dir/NapCat.linux.zip" +curl -s -X GET \ + -H "Authorization: token $token" \ + -L "https://github.com/NapNeko/NapCatQQ/releases/download/$version/NapCat.linux.x64.zip" \ + -o "$output_dir/NapCat.linux.x64.zip" + +curl -s -X GET \ + -H "Authorization: token $token" \ + -L "https://github.com/NapNeko/NapCatQQ/releases/download/$version/NapCat.linux.arm64.zip" \ + -o "$output_dir/NapCat.linux.arm64.zip" + +echo "编译产物已保存到$output_dir" +ls -lh