diff --git a/.woodpecker/.image.yml b/.woodpecker/.image.yml new file mode 100644 index 0000000..27072a0 --- /dev/null +++ b/.woodpecker/.image.yml @@ -0,0 +1,21 @@ +# Because the only step here is a pull_request event, the branch should be dev +# because it has to be the target of the pull request +branches: dev +platform: linux/amd64 +depends_on: [ build ] + +pipeline: + dryrun: + image: woodpeckerci/plugin-docker-buildx + secrets: [ docker_username, docker_password ] + settings: + dockerfile: Dockerfile.ci + repo: chewingbever/vieter + tag: dev + platforms: [ linux/arm/v7, linux/arm64/v8, linux/amd64 ] + dry_run: true + build_args_from_env: + - CI_COMMIT_SHA + when: + event: pull_request + branch: dev diff --git a/.woodpecker/.docker.yml b/.woodpecker/.publish.yml similarity index 93% rename from .woodpecker/.docker.yml rename to .woodpecker/.publish.yml index f23b3df..22183c5 100644 --- a/.woodpecker/.docker.yml +++ b/.woodpecker/.publish.yml @@ -25,7 +25,9 @@ pipeline: settings: repo: chewingbever/vieter dockerfile: Dockerfile.ci - auto_tag: true + tag: + - latest + - ${CI_COMMIT_TAG} platforms: [ linux/arm/v7, linux/arm64/v8, linux/amd64 ] build_args_from_env: - CI_COMMIT_SHA diff --git a/.woodpecker/.gitea.yml b/.woodpecker/.release.yml similarity index 67% rename from .woodpecker/.gitea.yml rename to .woodpecker/.release.yml index e6062eb..c7527cb 100644 --- a/.woodpecker/.gitea.yml +++ b/.woodpecker/.release.yml @@ -13,10 +13,13 @@ pipeline: pull: true secrets: [ s3_username, s3_password ] commands: + - git clone "$CI_REPO_REMOTE" . + - git checkout "$CI_COMMIT_BRANCH" + # Write the title to a file that the plugin can then read + - echo "$(git describe --tags --abbrev=0 2> /dev/null || echo '0.0.0')-$(git rev-list --count ^dev)" > title + - cat title - mc alias set s3/ https://s3.rustybever.be "$S3_USERNAME" "$S3_PASSWORD" - mc cp -r "s3/vieter/commits/$CI_COMMIT_SHA" assets - when: - event: tag release: image: 'plugins/gitea-release' @@ -29,6 +32,7 @@ pipeline: - md5 - sha256 prerelease: true - title: ${CI_COMMIT_TAG} + # This should get read in as a file + title: title when: - event: tag + event: push diff --git a/src/archive.v b/src/archive.v index 8d1314f..3eaad5c 100644 --- a/src/archive.v +++ b/src/archive.v @@ -63,9 +63,6 @@ fn C.archive_write_close(&C.archive) // Free the write archive fn C.archive_write_free(&C.archive) -// Returns the name of the filter -fn C.archive_filter_code(&C.archive, int) int - #include "archive_entry.h" struct C.archive_entry {} diff --git a/src/package.v b/src/package.v index 03103c9..b9bcae8 100644 --- a/src/package.v +++ b/src/package.v @@ -6,10 +6,9 @@ import util // Represents a read archive struct Pkg { pub: - path string [required] - info PkgInfo [required] - files []string [required] - compression int [required] + path string [required] + info PkgInfo [required] + files []string [required] } // Represents the contents of a .PKGINFO file @@ -126,11 +125,6 @@ pub fn read_pkg(pkg_path string) ?Pkg { C.archive_read_free(a) } - // 0: no compression (just a tarball) - // 1: gzip - // 14: zstd - compression_code := C.archive_filter_code(a, 0) - mut files := []string{} mut pkg_info := PkgInfo{} @@ -170,7 +164,6 @@ pub fn read_pkg(pkg_path string) ?Pkg { path: pkg_path info: pkg_info files: files - compression: compression_code } } @@ -182,14 +175,7 @@ fn format_entry(key string, value string) string { pub fn (pkg &Pkg) filename() string { p := pkg.info - ext := match pkg.compression { - 0 { '.tar' } - 1 { '.tar.gz' } - 14 { '.tar.zst' } - else { panic("Another compression code shouldn't be possible. Faulty code: $pkg.compression") } - } - - return '$p.name-$p.version-${p.arch}.pkg$ext' + return '$p.name-$p.version-${p.arch}.pkg.tar.zst' } // to_desc returns a desc file valid string representation diff --git a/test.py b/test.py index 5721310..17445b7 100644 --- a/test.py +++ b/test.py @@ -38,7 +38,7 @@ def create_random_pkginfo(words, name_min_len, name_max_len): Generates a random .PKGINFO """ name = "-".join(random_words(words, name_min_len, name_max_len)) - ver = "0.1.0-1" # doesn't matter what it is anyways + ver = "0.1.0" # doesn't matter what it is anyways # TODO add random dependencies (all types) @@ -67,7 +67,7 @@ def create_random_package(tmpdir, words, pkg_name_min_len, pkg_name_max_len, min return tar_info - with tarfile.open(tar_path, "w:gz") as tar: + with tarfile.open(tar_path, "w") as tar: # Add random .PKGINFO file pkginfo_file = sub_path / ".PKGINFO" pkginfo_file.write_text(create_random_pkginfo(words, pkg_name_min_len, pkg_name_max_len))