From c29eaa53e7c258fae9ea053b450fc73604258eb1 Mon Sep 17 00:00:00 2001 From: antaldaniel Date: Mon, 16 Dec 2024 12:22:51 +0100 Subject: [PATCH] setup rhub workflow --- .github/workflows/rhub.yaml | 95 +++++++++++++++++++++++++ DESCRIPTION | 2 +- tests/testthat/test-ttl_dataset_write.R | 25 +++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/rhub.yaml create mode 100644 tests/testthat/test-ttl_dataset_write.R diff --git a/.github/workflows/rhub.yaml b/.github/workflows/rhub.yaml new file mode 100644 index 0000000..74ec7b0 --- /dev/null +++ b/.github/workflows/rhub.yaml @@ -0,0 +1,95 @@ +# R-hub's generic GitHub Actions workflow file. It's canonical location is at +# https://github.com/r-hub/actions/blob/v1/workflows/rhub.yaml +# You can update this file to a newer version using the rhub2 package: +# +# rhub::rhub_setup() +# +# It is unlikely that you need to modify this file manually. + +name: R-hub +run-name: "${{ github.event.inputs.id }}: ${{ github.event.inputs.name || format('Manually run by {0}', github.triggering_actor) }}" + +on: + workflow_dispatch: + inputs: + config: + description: 'A comma separated list of R-hub platforms to use.' + type: string + default: 'linux,windows,macos' + name: + description: 'Run name. You can leave this empty now.' + type: string + id: + description: 'Unique ID. You can leave this empty now.' + type: string + +jobs: + + setup: + runs-on: ubuntu-latest + outputs: + containers: ${{ steps.rhub-setup.outputs.containers }} + platforms: ${{ steps.rhub-setup.outputs.platforms }} + + steps: + # NO NEED TO CHECKOUT HERE + - uses: r-hub/actions/setup@v1 + with: + config: ${{ github.event.inputs.config }} + id: rhub-setup + + linux-containers: + needs: setup + if: ${{ needs.setup.outputs.containers != '[]' }} + runs-on: ubuntu-latest + name: ${{ matrix.config.label }} + strategy: + fail-fast: false + matrix: + config: ${{ fromJson(needs.setup.outputs.containers) }} + container: + image: ${{ matrix.config.container }} + + steps: + - uses: r-hub/actions/checkout@v1 + - uses: r-hub/actions/platform-info@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/setup-deps@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/run-check@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + + other-platforms: + needs: setup + if: ${{ needs.setup.outputs.platforms != '[]' }} + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.label }} + strategy: + fail-fast: false + matrix: + config: ${{ fromJson(needs.setup.outputs.platforms) }} + + steps: + - uses: r-hub/actions/checkout@v1 + - uses: r-hub/actions/setup-r@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} + - uses: r-hub/actions/platform-info@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/setup-deps@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} + - uses: r-hub/actions/run-check@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} diff --git a/DESCRIPTION b/DESCRIPTION index b22b9fa..51ee6c4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -19,7 +19,7 @@ Encoding: UTF-8 Roxygen: list(markdown = TRUE) RoxygenNote: 7.3.1 Imports: - dataset, + dataset (>= 0.3.3007), utils Suggests: knitr, diff --git a/tests/testthat/test-ttl_dataset_write.R b/tests/testthat/test-ttl_dataset_write.R new file mode 100644 index 0000000..270f43f --- /dev/null +++ b/tests/testthat/test-ttl_dataset_write.R @@ -0,0 +1,25 @@ + +temp_ttl_file <- file.path(tempdir(), "temp_ttl.ttl") +mtcars_dataset <- dataset::as_dataset_df(mtcars, + reference = list( + title="The Motor Trend [mtcar] Dataset", + author=person("Motor Trend Magazine"), + year=1974, + publisher="Motor Trend Magazine" + )) + +mtcars_namespace <- dataset_namespace[ + dataset_namespace$prefix %in% c("owl:", "rdf:", "rdfs:", "qb:", "eg:"), ] + +mtcars_dataset <- dataset::id_to_column(mtcars_dataset, prefix = "eg:", ids = NULL) +mtcars_dataset <- dataset::dataset_to_triples(mtcars_dataset, idcol = "rowid") +mtcars_dataset$p <- paste0("eg:mtcars#", mtcars_dataset$p) +mtcars_dataset$o <- xsd_convert(mtcars_dataset$o) +dataset_ttl_write(mtcars_dataset, + ttl_namespace = mtcars_namespace, + file_path = temp_ttl_file) +readLines(temp_ttl_file, 25) + +test_that("multiplication works", { + expect_equal(2 * 2, 4) +})