From 572dc5d34303c19f3d8543335b796998ec4664c2 Mon Sep 17 00:00:00 2001 From: LIRUI <298977887@qq.com> Date: Mon, 28 Oct 2024 11:00:32 +0800 Subject: [PATCH] 1028 --- .github/workflows/BBB.yml | 6 +- .github/workflows/zzz.yml | 178 +++++--------------------------------- 2 files changed, 25 insertions(+), 159 deletions(-) diff --git a/.github/workflows/BBB.yml b/.github/workflows/BBB.yml index 12a8780..549f8e7 100644 --- a/.github/workflows/BBB.yml +++ b/.github/workflows/BBB.yml @@ -1,9 +1,9 @@ name: Clone Repository with Trojan-Go Proxy on: - push: - branches: - - main +# push: +# branches: +# - main jobs: clone_with_proxy: diff --git a/.github/workflows/zzz.yml b/.github/workflows/zzz.yml index f440013..fa82c45 100644 --- a/.github/workflows/zzz.yml +++ b/.github/workflows/zzz.yml @@ -1,162 +1,28 @@ -name: 🏗️ 构建 OpenWrt 稳定版 - -# 触发条件:push, pull_request, 定时(每天)和手动触发(workflow_dispatch) -on: - #push: - # branches: - # - main # 只有在 main 分支 push 时触发 - #pull_request: # PR 时触发 - #schedule: - # - cron: '0 0 * * *' # 每天自动触发一次 - workflow_dispatch: # 手动触发 - jobs: - build: - #runs-on: ubuntu-22.04 - runs-on: ubuntu-builder - + # 第一个 Job:检出代码并上传 + checkout_and_upload: + runs-on: ubuntu-latest steps: - - name: 🛒 检出代码 - 获取最新的代码库状态 + - name: 🛒 检出代码 uses: actions/checkout@v3 - #配置git代理http和https为192.168.1.20:7890 - #- name: 🛠️ 配置 Git 代理 - # run: | - # git config --global http.proxy http://192.168.1.20:7890 - # git config --global https.proxy http://192.168.1.20:7890 - - #打印git配置信息 - - name: 📄 打印 Git 配置信息 - run: | - git config --list - - #打印git代理配置信息 - #- name: 📄 打印 Git 代理配置信息 - # run: | - # git config --global --get http.proxy - # git config --global --get https.proxy - - - name: 📥 克隆 LEDE 源码 - run: | - git clone https://github.com/coolsnowwolf/lede - cd lede - - #添加源 - - name: 📦 添加源 - run: | - cd lede - echo "当前目录:" && pwd - echo "当前用户为:" && whoami - #echo 'src-git istore https://github.com/linkease/istore;main' >> feeds.conf.default - #echo 'src-git kenzo https://github.com/kenzok8/openwrt-packages' >> feeds.conf.default - #echo 'src-git small https://github.com/kenzok8/small' >> feeds.conf.default - - #打印feeds.conf.default文件内容 - - name: 📄 打印 feeds.conf.default 文件内容 - run: | - cat lede/feeds.conf.default - - #执行./scripts/feeds update -a 和./scripts/feeds install -a - - name: 🔄 更新 feeds 并安装 - run: | - cd lede - ./scripts/feeds update -a - #延时5秒 - sleep 5 - ./scripts/feeds update -a - ./scripts/feeds install -a - - - name: 📦 获取固件版本 - 检索当前固件的版本信息 - run: | - cd lede - grep '"DISTRIB_REVISION=' */*/default-settings/files/zzz-default-settings | cut -d"'" -f2 - - # 获取 DISTRIB_REVISION 值 - DISTRIB_REVISION=$(grep '"DISTRIB_REVISION=' */*/default-settings/files/zzz-default-settings | cut -d"'" -f2) - - # 将值设置为环境变量 - echo "distrib_revision=$DISTRIB_REVISION" >> $GITHUB_ENV - - # 在日志中显示 DISTRIB_REVISION 的值 - echo "DISTRIB_REVISION: $DISTRIB_REVISION" - - - name: 📄 创建并写入 DISTRIB_REVISION.txt 文件 - 记录分发版本 - run: | - # 获取当前日期和时间 - 格式为“2024年1月31日15时24分36秒更新” - CURRENT_DATE=$(date +"%Y年%m月%d日%H时%M分") - #日期TAG,格式为“0131-15”,表示1月31日15时 - CURRENT_DATE_TAG=$(date +"%m%d-%H") - echo "当前日期: $CURRENT_DATE" - # 将当前日期和时间设置为环境变量 - echo "CURRENT_DATE=$(date +'%Y年%m月%d日%H时%M分')" >> $GITHUB_ENV - # 将日期TAG写入环境变量 - echo "CURRENT_DATE_TAG=$CURRENT_DATE_TAG" >> $GITHUB_ENV - # 写入文件,以便在发布中使用 - echo -e "${CURRENT_DATE}更新\n${{ env.distrib_revision }}" > DISTRIB_REVISION.txt - cat DISTRIB_REVISION.txt # 确认文件内容 - - - name: 📑 拷贝.config文件 - 确认配置文件状态 - run: | - echo "📂当前目录:" && pwd - ls -la #la表示显示所有文件,包括隐藏文件 - # 重命名当前目录下的配置文件并拷贝到 lede 目录下 - cp "lede;RUI;x86_64.config" lede/.config - - - name: 🔧 设置编译配置 - run: | - cd lede - # make menuconfig # 这里您可以根据需要修改配置 - make defconfig # 生成默认的 .config 文件 - - - name: 🔨 编译前准备 - 下载 dl 库 - run: | - cd lede - #make defconfig - make download -j8 V=s - - - name: 🚀 启用多线程编译 - run: | - cd lede - #make V=s -j$(nproc) #使用所有 CPU 编译 - # 使用 V=0 关闭详细输出 - make V=s -j$(nproc) - - - name: 🗃️ 整理文件 - 优化文件结构 - if: success() && !cancelled() - run: | - echo "当前目录:" && pwd - # 查看当前目录下的文件 - ls -al - # 查看磁盘空间 - df -hT - # 进入固件目录 - cd lede/bin/targets/*/* - # 删除不需要的文件 - rm -rf packages *.bin *.json *.buildinfo *.manifest sha256sums - # 设置固件所在的目录路径并写入环境变量 - echo "firmware_path=$PWD" >> $GITHUB_ENV - - - name: 📂 固件路径 - 显示固件路径 - run: | - echo "Firmware path: ${{ env.firmware_path }}" - - - name: 🚀 上传固件到 Release - 发布最新固件 - uses: akkuman/gitea-release-action@v1 - env: - NODE_OPTIONS: "--experimental-fetch" # 如果 Node.js 版本 < 18 - NODE_TLS_REJECT_UNAUTHORIZED: "0" # 如果您需要忽略 SSL 验证错误 - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} # 确保在 Gitea 的仓库 Secrets 中设置了 GITEA_TOKEN + - name: 📦 上传代码作为工件 + uses: actions/upload-artifact@v3 with: - #server_url: "https://git.aoun.ltd/" # 您的 Gitea API URL 默认为仓库地址 - repository: "18152827937/OpenWrt-Stable" # 您的 Gitea 仓库 - name: "最新发布版本:${{ env.distrib_revision }}" # 发布名称 - # 使用固件版本和日期TAG作为标签 - tag_name: ${{ env.distrib_revision }}-${{ env.CURRENT_DATE_TAG }} - files: ${{ env.firmware_path }}/* # /* 表示上传所有文件 - body: | - ## 固件版本 - - 版本号:`${{ env.distrib_revision }}` - - 发布日期:`${{ env.CURRENT_DATE }}` + name: source-code # 工件名称 + path: . # 上传当前目录的所有内容 - ## 官方网站 - - 点我访问[固件发布官方网站](https://xiangzi.ltd/) \ No newline at end of file + # 第二个 Job:下载工件并使用代码 + download_and_use: + runs-on: ubuntu-latest + needs: checkout_and_upload # 确保在第一个 Job 完成后再运行 + steps: + - name: 📥 下载代码工件 + uses: actions/download-artifact@v3 + with: + name: source-code # 下载第一个 Job 中的工件 + + - name: 🔍 使用下载的代码 + run: | + ls -la # 确认文件是否已成功下载 + # 这里可以继续使用检出的代码进行构建或其他操作